{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 按格式切分doc\n",
    "### 第一步：读取doc中的内容  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "[['地区', '住宿费标准(元/天)'], ['北京、上海、广州、深圳', '350'], ['各省省会城市及直辖市(天津、重庆) 及计划单列市(大连、青岛、宁波、厦 门 )', '250'], ['其他城市', '200']]\n"
     ]
    }
   ],
   "source": [
    "from docx import Document\n",
    "\n",
    "def read_docx_tables(file_path):\n",
    "    document = Document(file_path)\n",
    "    tables_all = []\n",
    "\n",
    "    # 遍历文档中的所有表格\n",
    "    for table in document.tables:   \n",
    "        table_data = []\n",
    "        # 遍历表格的每一行,把每一行作为一个数组加入到table_data中，构成一个元组。\n",
    "        for row in table.rows:\n",
    "            row_data = [cell.text.strip() for cell in row.cells]\n",
    "            table_data.append(row_data)\n",
    "        tables_all.append(table_data)\n",
    "        #print(tables_all)\n",
    "    return tables_all\n",
    "\n",
    "file_path = 'Data/财务报销办法6.0.docx'\n",
    "tables = read_docx_tables(file_path)\n",
    "print()\n",
    "print(tables[4])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 尝试方向0：基于大纲级别来判断文章段落层级\n",
    "通过paragraph.style.name来判定, 发现不行，只有normal，word作者可能并没有规整好style。\n",
    "\n",
    "只能尝试用大纲级别来判断，我们知道docx的本质是xml，在xml中有w:outlinevl这一属性，其值val即是大纲级别。\n",
    "\n",
    "于是，手写了`get_outline_level`函数提取大纲级别。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "大纲等级0，内容: 1. 目的\n",
      "大纲等级0，内容: 2. 依据\n",
      "大纲等级0，内容: 3.适用范围\n",
      "大纲等级0，内容: 4.职责\n",
      "大纲等级0，内容: 1. 员工借款管理规定\n",
      "大纲等级0，内容: 2. 员工借款流程\n",
      "大纲等级1，内容: 1. 日常费用报销管理规定\n",
      "大纲等级1，内容: 2. 差旅报销制度及流程\n",
      "大纲等级1，内容: 2.1 差旅管理规定\n",
      "大纲等级1，内容: 2.2 差旅费用标准\n",
      "大纲等级1，内容: 2.3  差旅补助\n",
      "大纲等级1，内容: 2.4 差旅报销流程\n",
      "大纲等级3，内容: 3.一 般报销制度及流程 3.1一般报销管理规定\n",
      "大纲等级1，内容: 3.2 一般报销费用标准\n",
      "大纲等级1，内容: 3.3 一般报销流程\n",
      "大纲等级1，内容: 1. 报销时间\n",
      "大纲等级1，内容: 2.  发票粘贴及管理要求\n",
      "大纲等级1，内容: 1.本制度解释权归公司财务部\n",
      "大纲等级1，内容: 2.本制度于2021年5月1日生效执\n"
     ]
    }
   ],
   "source": [
    "import re\n",
    "\n",
    "def get_outline_level(paragraph):\n",
    "    # 获取段落的XML源码\n",
    "    xml = paragraph._p.xml\n",
    "    # 使用正则表达式查找大纲级别的值\n",
    "    match = re.search(r'<w:outlineLvl[^>]*w:val=\"(\\d+)\"', xml)\n",
    "    if match:\n",
    "        # 返回找到的大纲级别值，注意转换为整数\n",
    "        outline_lvl = int(match.group(1))\n",
    "        print(f\"大纲等级{outline_lvl}，内容: {paragraph.text}\")\n",
    "        return int(match.group(1))\n",
    "    else:\n",
    "        # 如果没有找到大纲级别，返回None\n",
    "        return None\n",
    "\n",
    "def get_numbering_level(paragraph):\n",
    "    # 获取段落的XML源码\n",
    "    xml = paragraph._p.xml\n",
    "    # 使用正则表达式查找大纲级别的值\n",
    "    match = re.search(r'<w:ilvl[^>]*w:val=\"(\\d+)\"', xml)\n",
    "    if match:\n",
    "        # 返回找到的大纲级别值，注意转换为整数\n",
    "        level = int(match.group(1))\n",
    "        print(f\"标题等级{level}，内容: {paragraph.text}\")\n",
    "        return level\n",
    "    else:\n",
    "        # 如果没有找到大纲级别，返回None\n",
    "        return None\n",
    "    \n",
    "\n",
    "def read_docx_headings(file_path):\n",
    "    document = Document(file_path)\n",
    "    para = []\n",
    "    # 遍历文档中的所有段落\n",
    "    for paragraph in document.paragraphs:\n",
    "        # 如果段落为空，跳过当前循环，继续下一个\n",
    "        if len(paragraph.text) == 0:\n",
    "            continue  \n",
    "\n",
    "        # 检查段落样式，如果是标题则进一步处理\n",
    "        # print(f\"{paragraph.style.name}: {paragraph.text}\")\n",
    "        outline_level = get_outline_level(paragraph)\n",
    "        # print(f\"outline_level: {outline_level}\")\n",
    "        numbering_level = get_numbering_level(paragraph)\n",
    "        # print(f\"numbering_level: {numbering_level}\")\n",
    "        # print(\"-------------\")\n",
    "\n",
    "        para.append(paragraph.text)\n",
    "            \n",
    "    return document.paragraphs\n",
    "\n",
    "# 测试代码\n",
    "file_path1 = 'Data/财务报销办法6.0.docx'\n",
    "file_path2 = 'Data/完整性管理规定.docx'\n",
    "headings = read_docx_headings(file_path1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 尝试方向1：用unstructured库来实现chunk_by_title\n",
    "\n",
    "你需要安装：pip install \"langchain-unstructured[local]\"\n",
    "\n",
    "之后仍然提示`ImportError: failed to find libmagic.  Check your installation`\n",
    "\n",
    "只需要运行`pip install python-magic-bin==0.4.14` 即可。\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "The MIME type of 'Data/完整性管理规定.docx' is \"cannot open `data/\\\\345\\\\256\\\\214\\\\346\\\\225\\\\264\\\\346\\\\200\\\\247\\\\347\\\\256\\\\241\\\\347\\\\220\\\\206\\\\350\\\\247\\\\204\\\\345\\\\256\\\\232.docx' (illegal byte sequence)\". This file type is not currently supported in unstructured.\n"
     ]
    }
   ],
   "source": [
    "from unstructured.partition.auto import partition\n",
    "from unstructured.chunking.title import chunk_by_title\n",
    "\n",
    "# 加载并分区 docx 文档\n",
    "elements = partition(filename=\"Data/完整性管理规定.docx\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 以下是elements的结构示例\n",
    "\n",
    "每个元素都有以下属性：\n",
    "- text: 元素的文本内容。\n",
    "- category: 元素的类别（如标题、段落等）。\n",
    "- metadata: 包含元素的元数据，如页面位置等。\n",
    "\n",
    "`\"type\"`有如下分类：\n",
    "- Title: 标题\n",
    "- NarrativeText: 叙述性文本\n",
    "- BulletedList: 项目符号列表\n",
    "- NumberedList: 编号列表\n",
    "- Table: 表格\n",
    "- Figure: 图片\n",
    "\n",
    "```json\n",
    "{\n",
    "  \"type\": \"NarrativeText\",\n",
    "  \"element_id\": \"5ef1d1117721f0472c1ad825991d7d37\",\n",
    "  \"text\": \"The Unstructured API documentation covers the following API services:\",\n",
    "  \"metadata\": {\n",
    "    \"last_modified\": \"2024-05-01T14:15:22\",\n",
    "    \"page_number\": 1,\n",
    "    \"languages\": [\"eng\"],\n",
    "    \"parent_id\": \"56f24319ae258b735cac3ec2a271b1d9\",\n",
    "    \"file_directory\": \"/content\",\n",
    "    \"filename\": \"Unstructured API services - Unstructured.html\",\n",
    "    \"filetype\": \"text/html\"\n",
    "  }\n",
    "}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Title\n",
      "['zho']\n",
      "中国石油天然气股份有限公司\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "油气田管道和站场完整性管理规定\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "中国石油天然气股份有限公司勘探与生产分公司\n",
      "-----\n",
      "UncategorizedText\n",
      "['zho']\n",
      "2017年7月\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "前  言\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "完整性管理是为保障油气田管道和站场完整、提高本质安全而进行的一系列管理活动，是近年来逐渐发展成熟并得到成功应用的管理体系。2016年以来，中国石油天然气股份有限公司（以下简称“股份公司”）启动油气田管道和站场完整性管理工作，持续开展试点工程，并配套开展了科研攻关，取得了良好的效果。完整性管理被证明是油气田管道和站场提升本质安全、延长使用寿命、提高经济效益的有效手段。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "为科学推进油气田管道和站场完整性管理工作，助力上游业务提质、降本、增效发展，提高油气田管道和站场管理水平，股份公司勘探与生产分公司组织规划总院编制完成了《中国石油天然气股份有限公司油气田管道和站场完整性管理规定》，组织西南油气田分公司编制完成了《中国石油天然气股份有限公司油田集输管道检测评价及修复技术导则》、《中国石油天然气股份有限公司气田集输管道检测评价及修复技术导则》、《中国石油天然气股份有限公司油气集输站场检测评价及维护技术导则》，从管理和技术两个方面对完整性管理提出了具体的要求。管理规定和三个技术导则互相支持、互为补充，是上游板块完整性管理文件体系的重要内容。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "《中国石油天然气股份有限公司油气田管道和站场完整性管理规定》重点阐述了完整性管理的原则、目标、职责和建设期、运行期、停用期完整性管理的内容，并对完整性管理报告和监督检查考核工作提出了要求。在规定编制过程中，充分借鉴了各油气田公司的实践经验，特别是参考了西南、大庆、长庆、大港、新疆、华北、青海等完整性管理试点工程实施单位的成果。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "本规定共11章，91条，2个附录。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "本规定由中国石油天然气股份有限公司勘探与生产分公司提出和归口。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "编制单位：中国石油天然气股份有限公司勘探与生产分公司、中国石油天然气股份有限公司规划总院。\n",
      "-----\n",
      "UncategorizedText\n",
      "['zho']\n",
      "主要起草人：张维智  陈宏健  郝晓东  王  坤  付  勇  \n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "孙铁民  杨莉娜  李  冰  徐英俊  李秋忙  \n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "主要参加人：班兴安  胡玉涛  刘海峰  韩凤臣  秦  林  \n",
      "-----\n",
      "UncategorizedText\n",
      "['zho']\n",
      "张宝良  王永波  李国才  张  昆  刘  畅  \n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "李双林  范永昭  张  良  苗新康  崔新村\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "审核人：汤  林\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "审定人：王元基\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "本规定于2017年7月18日首次发布。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "目  录\n",
      "-----\n",
      "NarrativeText\n",
      "['zho']\n",
      "第一章 总  则\t1\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "第二章 原则及目标\t1\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "第三章 管理机构与职责\t5\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "第四章 管道建设期的完整性管理\t6\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "第五章 管道运行期的完整性管理\t10\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "第一节 工作流程和基本要求\t10\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "第二节 管道日常维护管理\t11\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "第三节 I类管道完整性管理策略\t13\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "第四节 Ⅱ类管道完整性管理策略\t17\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "第五节 Ⅲ类管道完整性管理策略\t18\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "第六章 管道停用期的完整性管理\t21\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "第七章 站场完整性管理\t22\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "第八章 运行机制与保障\t23\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "第九章 完整性管理工作报告\t26\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "第十章 监督检查与考核评比\t26\n",
      "-----\n",
      "NarrativeText\n",
      "['zho']\n",
      "第十一章 附  则\t27\n",
      "-----\n",
      "NarrativeText\n",
      "['zho']\n",
      "附录1 术  语\t28\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "附录2 完整性管理年度总结报告编制模板\t31\n",
      "-----\n",
      "Footer\n",
      "['zho']\n",
      "—14—\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "总  则\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "为保障油气田管道和站场本质安全，控制运行风险，延长使用寿命，提高管理水平，助力上游业务提质、降本、增效和可持续发展，特制定《中国石油天然气股份有限公司油气田管道和站场完整性管理规定》（以下简称《规定》）。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "《规定》涵盖了油气田管道和站场完整性管理（以下简称完整性管理）的目标、原则、内容和要求。术语解释见附录1。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "完整性管理是指管理者不断根据最新信息，对管道和站场运营中面临的风险因素进行识别和评价，并不断采取针对性的风险减缓措施，将风险控制在合理、可接受的范围内，使管道和站场始终处于可控状态，预防和减少事故发生，为其安全经济运行提供保障。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "完整性管理应贯穿管道和站场全生命周期。在建设及运行阶段技术方案的优化和决策过程中，应贯彻完整性管理理念。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "完整性管理应遵守国家和地方有关法律法规，遵循相关技术标准，执行股份公司相关规章制度，符合HSE体系有关规定。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "本《规定》适用于股份公司所属油气田分（子）公司（以下简称“油气田公司”）的国内陆上油气田管道和油气田站场。其他油气田管道和站场可参照执行。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "原则及目标\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "完整性管理应遵循以下原则：\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（一）合理可行原则。科学制定风险可接受准则，采取经济有效的风险减缓措施，将风险控制在可接受范围内。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（二）分类分级原则。对管道和站场实行管理分类、风险分级，针对不同类别的管道和站场采取差异化的策略。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（三）风险优先原则。针对评价后位于高后果、环境敏感等区域的高风险管道和站场，要及时采取相应的风险消减措施。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（四）区域管理原则。突出以区域为单元开展高后果区识别、风险评价和检测评价等工作。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（五）有序开展原则。按照先重点、后一般，先试点、再推广的顺序开展完整性管理工作。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "按照介质类型、压力等级和管径等因素，将管道划分为Ⅰ、Ⅱ、Ⅲ类管道，详见表2.1～表2.3。油气田公司可结合自身实际，适当调整分类界限。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "表2.1  采气、集气、注气、输气管道分类\n",
      "-----\n",
      "Table\n",
      "['zho']\n",
      "采气、集气、注气管道分类 P≥16 9.9≤P<16 6.3≤P<9.9 P<6.3 DN≥200 Ⅰ类管道 Ⅰ类管道 Ⅰ类管道 Ⅱ类管道 100≤DN<200 Ⅰ类管道 Ⅱ类管道 Ⅱ类管道 Ⅱ类管道 DN<100 Ⅰ类管道 Ⅱ类管道 Ⅱ类管道 Ⅲ类管道 输气管道分类 P≥6.3 4.0≤P<6.3 2.5≤P<4.0 P<2.5 DN≥400 Ⅰ类管道 Ⅰ类管道 Ⅰ类管道 Ⅱ类管道 200≤DN<400 Ⅰ类管道 Ⅱ类管道 Ⅱ类管道 Ⅱ类管道 DN<200 Ⅰ类管道 Ⅱ类管道 Ⅱ类管道 Ⅲ类管道\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "注：1.P，最近3年的最高运行压力，MPa；DN，公称直径，mm；\n",
      "-----\n",
      "UncategorizedText\n",
      "['zho']\n",
      "2.硫化氢含量大于等于5%的原料气管道，直接划分为Ⅰ类管道；\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "3.Ⅰ、Ⅱ管道长度小于3km的，类别下降一级；Ⅱ、Ⅲ类管道长度大于等于20km的，类别上升一级；Ⅲ类管道中的高后果区管道，类别上升一级。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "表2.2  出油、集油、输油管道分类\n",
      "-----\n",
      "Table\n",
      "['zho']\n",
      "P≥6.3 4≤P<6.3 2.5＜P＜4 P≤2.5 DN≥250 Ⅰ类管道 Ⅰ类管道 Ⅱ类管道 Ⅱ类管道 100≤DN<250 Ⅰ类管道 Ⅱ类管道 Ⅱ类管道 Ⅱ类管道 DN<100 Ⅱ类管道 Ⅱ类管道 Ⅱ类管道 Ⅲ类管道\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "注：1.P，最近3年的最高运行压力，MPa；DN，公称直径，mm；\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "2.输油管道按Ⅰ类管道处理；液化气、轻烃管道，类别上升一级；Ⅰ、Ⅱ管道长度小于3km的，类别下降一级；Ⅲ类管道中的高后果区管道，类别上升一级。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "表2.3  供水、注入管道分类\n",
      "-----\n",
      "Table\n",
      "['zho']\n",
      "P≥16 6.3≤P＜16 2.5＜P＜6.3 P≤2.5 DN≥200 Ⅱ类管道 Ⅱ类管道 Ⅲ类管道 Ⅲ类管道 DN<200 Ⅱ类管道 Ⅲ类管道 Ⅲ类管道 Ⅲ类管道\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "注：P，最近3年的最高运行压力，MPa；DN，公称直径，mm。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "管道按照风险大小可划分为高风险级管道、中风险级管道和低风险级管道三个等级。风险等级示意图见图2.1。\n",
      "-----\n",
      "Table\n",
      "['zho']\n",
      "80%-100% 5 中\n",
      "5 中\n",
      "10 高\n",
      "15 高\n",
      "20 高\n",
      "25 60%-80% 4 低\n",
      "4 中\n",
      "8 中\n",
      "12 高\n",
      "16 高\n",
      "20 40%-60% 3 低\n",
      "3 中\n",
      "6 中\n",
      "9 中\n",
      "12 高\n",
      "15 20%-40% 2 低\n",
      "2 低\n",
      "4 中\n",
      "6 中\n",
      "8 中\n",
      "10 0%-20% 1 低\n",
      "1 低\n",
      "2 低\n",
      "3 低\n",
      "4 中\n",
      "5 失效概率 失效后果 1 2 3 4 5 一般 中等 较大 重大 特大\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "注：1.失效概率，是指发生失效的可能性，最低为0，最高为100%；\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "2.失效后果，是指失效后产生后果的严重程度，考虑人员伤亡、环境破坏、财产损失、生产影响、社会信誉等方面，可分为一般、中等、较大、重大、特大；\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "3.风险=失效概率×失效后果。根据风险数值可分为高、中、低三个等级，分别对应图中的红色、黄色和绿色三个区域。红色和黄色区域是需要重点管控的区域。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "图2.1 风险等级示意图\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "不同类型、不同风险的管道的完整性管理工作方法和管理模式不同。\n",
      "-----\n",
      "UncategorizedText\n",
      "['zho']\n",
      "（一）对于I、Ⅱ类管道，开展高后果区识别和风险评价，筛选出高风险级管道，优选适合的方法开展检测、评价和修复工作，降低管道失效率，减少管道更换费用。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（二）对于Ⅲ类管道，应科学认识其风险可接受程度，将风险管理的理念融入到日常管理当中，强化管道日常管理和维护工作，突出失效分析、腐蚀分析、腐蚀控制、日常巡护和维抢修工作，控制和削减风险、实现由事故管理向预防性管理转变，降低管道失效率和管道更换费用。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "油气田公司应制定年度管道失效率目标，逐年降低管道失效率。完整性管理实施后，至少应达到以下目标。对于处于高后果、环境敏感的高风险管道，应加强管理，进一步降低失效率。\n",
      "-----\n",
      "UncategorizedText\n",
      "['zho']\n",
      "（一）I类管道失效率不高于0.002次/（千米·年）。\n",
      "-----\n",
      "UncategorizedText\n",
      "['zho']\n",
      "（二）Ⅱ类管道失效率不高于0.01次/（千米·年）。\n",
      "-----\n",
      "UncategorizedText\n",
      "['zho']\n",
      "（三）Ⅲ类管道失效率不高于0.05次/（千米·年）。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（四）管道更新改造维护费用下降10%。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "油气田公司应在《规定》实施后首先开展管道的高后果区识别和风险评价工作。1年内完成所有管道的高后果区识别，3年完成所有管道的风险评价，5年实现I、Ⅱ类管道完整性管理全覆盖，10年实现所有管道完整性管理全覆盖。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "油气田公司应根据完整性管理目标和工作要求制定可实施的年度工作方案和规划方案。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "管理机构与职责\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "油气田公司应在股份公司统一领导下，有序开展完整性管理工作。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "完整性管理实行股份公司、油气田公司和厂（处）三级管理模式。各级管理单位应明确完整性管理主管领导和主管部门，设置相应岗位，落实管理责任和职责分工。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "勘探与生产分公司是股份公司油气田管道和站场完整性管理的主管部门。职责如下：\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（一）组织完整性管理标准规范和管理文件的制修订。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（二）组织完整性管理科研规划和攻关，建立技术体系。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（三）组织完整性管理信息系统的建设与管理。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（四）组织对油气田公司完整性管理工作进行监督检查。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "油气田公司完整性管理主管部门职责如下：\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（一）组织制修订完整性管理实施细则、程序文件、作业文件和油气田公司级标准规范。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（二）组织制定完整性管理年度工作方案。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（三）编制并上报完整性管理年度工作总结。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（四）组织油气田公司完整性管理科研工作，包括科研规划、项目申请和技术攻关等。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（五）组织完整性管理培训。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（六）组织厂（处）完整性管理的监督、检查与考核。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "厂（处）完整性管理主管部门职责如下：\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（一）执行油气田公司下达的年度工作方案，制定并上报厂（处）年度工作方案。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（二）编制“一区一案”或“一线一案”等完整性管理方案。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（三）负责数据收集、整理、存储及历史数据恢复。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（四）负责高后果区识别和风险评价工作。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（五）开展管道检测、评价和修复工作。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（六）开展完整性管理效能评价工作。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（七）编制并上报完整性管理年度工作总结。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（八）参与完整性管理科研攻关。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "管道建设期的完整性管理\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "可行性研究和设计阶段完整性管理要求如下：\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（一）应采用高后果区识别和风险评价技术，识别高后果区和主要风险因素，以减少人口密集、环境敏感区段，并先期规避或减缓腐蚀、地质灾害、占压、第三方破坏风险。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（二）应充分结合安全、环境影响、职业病危害和地质灾害等专项评价和安全设施设计、消防建审提出的风险控制结论，从管道材质、管道防腐、焊缝检测、工艺参数、工艺流程、自控水平等方面提出有针对性的风险控制措施。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（三）通过人口密集区、环境敏感区等需要重点保护地段的管道，根据具体情况，可论证设置安全预警系统或泄漏监测系统。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（四）根据不同类型管道推荐的检测方法，配套设计相应的工艺设施。推荐采用智能内检测的管道应设置内检测器收发装置,管道设计应满足内检测器通过性要求。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（五）设计中应充分考虑城市、乡镇的发展规划对管道的影响。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（六）科学判断管道内外腐蚀环境，采取合理可行的腐蚀防护控制方法。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（七）分析腐蚀防控因素，在多方案技术经济比选的基础上，合理确定管道材质。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "管道应严格按照设计图纸进行施工，并遵循设计变更程序，减少设计变更数量。施工过程中要做好物资采购、质量监督和工程验收管理，确保施工质量。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "管道在工程交工验收前，应进行管道走向、埋深检测、防腐层及阴极保护检测，记录相关的检测结果和整改情况，并完成基线评价。各类管道基线评价方法见表4-1~表4-3。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "表4-1  Ⅰ类管道基线检测技术方法要求\n",
      "-----\n",
      "Table\n",
      "['zho']\n",
      "检测项目 参考标准 技术方法及要求 管道中心线测量 Q/SY 1180.6 采集精度达到亚米级，宜选用载波相位差分（RTK）测量技术。建设期以管道焊缝为特征点采集坐标；运行初期以75米间距采集埋深和位置坐标。 路由调查 GB 50251 采集管道附属设施及周边信息数据。涉及坐标采集时，宜选用RTK测量技术。 SY/T 0087.1 SY/T 6064 SY/T 6828 智能内检测 GB/T 27699 选择几何测径和漏磁检测。提取几何变形、本体缺陷、焊接缺陷等信息。 SY/T 6597 Q/SY 1267 外腐蚀检测 GB/T 19285 应开展防腐层整体性能和缺陷检测、极化电位测试、自然电位测试；高风险区域进行密间隔电位（CIPS）测试。 GB/T 21246 SY/T 0087.1\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "表4-2  Ⅱ类管道基线检测技术方法要求\n",
      "-----\n",
      "Table\n",
      "['zho']\n",
      "检测项目 依据标准 技术方法及要求 管道中心线测量 Q/SY 1180.6 采集精度达到亚米级，宜选用RTK测量技术。建设期以管道焊缝为特征点采集坐标；运行初期以75米间距采集埋深和位置坐标。 路由调查 GB 50251 采集管道附属设施及周边信息数据。涉及坐标采集时，宜选用RTK测量技术。 SY/T 0087.1 SY/T 6064 SY/T 6828 SY/T 6597 Q/SY 1267 外腐蚀检测 GB/T 19285 开展防腐层整体性能和缺陷检测、极化电位测试、自然电位测试。 GB/T 21246 SY/T 0087.1\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "表4-3  Ⅲ类管道基线检测技术方法要求\n",
      "-----\n",
      "Table\n",
      "['zho']\n",
      "检测项目 依据标准 技术方法及要求 管道中心线测量 Q/SY 1180.6 采集精度达到亚米级，可选用RTK测量技术。建设期以管道焊缝为特征点采集坐标；运行初期以75米间距采集埋深和位置坐标。 路由调查 GB 50251 采集管道附属设施及周边信息数据。涉及坐标采集时，可选用RTK测量技术。 SY/T 0087.1 SY/T 6064 SY/T 6828 外腐蚀检测 GB/T 19285 开展防腐层整体性能和缺陷检测，极化电位测试、自然电位测试。 GB/T 21246 SY/T 0087.1\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "管道数据采集和移交工作参照Q/SY 1180.6《管道完整性管理规范 第6部分：数据采集》执行。建设期数据采集的主要内容具体如下：\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（一）管道属性数据，主要包括中心线数据、基础数据等。例如：起始点、结束点、测量控制点、壁厚、设计温度、设计压力、设计流量、弯管类型、压力试验、管材、管径、三通、弯头、焊口、防腐层、补口材料、缺陷记录等数据。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（二）管道环境及人文数据，主要包括地理信息数据、侵占数据等。例如：行政区划、地理位置、土壤信息、水工保护、附近人口密度、建筑、三桩、海拔高度、交通便道、环保绿化、穿跨越、管道支撑、道路交叉、水文地质、降水量、航拍和卫星遥感图像等数据信息，还包括管道周边的社会依托信息，例如：政府机构、公安、消防、医院、电力供应和机具租赁等数据。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（三）管道建造数据，主要包括阴极保护系统数据、设施数据等。例如：管子制造商、制造日期、施工单位、施工日期、连接方式、工艺及检验结果、阴保的安装、管道纵断面图、埋深、土壤回填等数据。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "新建管道采集数据和已建管道恢复建设期数据时，根据管道类型不同，数据内容和深度可以有所差异，但不应低于表4-4所示最低标准。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "表4-4  建设期数据采集最低标准\n",
      "-----\n",
      "Table\n",
      "['zho']\n",
      "编号 数据类型 数据项 I类管道 Ⅱ类管道 Ⅲ类管道 1 管道属性数据 中心线数据 √ √ √ 2 基础数据 √ √ √ 3 管道环境及 人文数据 地理信息数据 √ √ 区域采集 4 侵占数据 √ √ 区域采集 5 管道建造数据 阴极保护数据 √ √ 不要求 6 附属设施数据 √ √ 不要求\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "竣工验收前，应完成设计阶段的专项评价报告、建设阶段的质量控制相关报告和基础数据的交接，并保存防腐层、埋深检测与整改报告。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "管道在新改扩竣工验收及修复验收后，应完成数据移交工作。当管道属性或环境数据发生变化时，应及时更新相关数据。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "项目建设单位应采取措施，加强对征地、施工等环节的管理，确保管道投产时即为“零占压”。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "管道运行期的完整性管理\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "工作流程和基本要求\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "管道运行期完整性管理工作流程包括数据采集、高后果区识别和风险评价、检测评价、维修维护、效能评价5个环节。通过上述过程的循环，逐步提高完整性管理水平。工作流程示意图详见图5-1。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "数据采集高后果区识别和风险评价检测评价维修维护效能评价\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "图5-1完整性管理工作流程示意图\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（一）数据采集：结合管道竣工资料和历史数据恢复，开展数据采集、整理和分析工作。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（二）高后果区识别和风险评价：综合考虑周边安全、环境及生产影响等因素，进行高后果区识别，开展风险评价，明确管理重点。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（三）检测评价：通过实施管道检测或数据分析，评价管道状态，提出风险减缓方案。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（四）维修维护：依据风险减缓方案，采取有针对性的维修与维护措施。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（五）效能评价：通过效能评价，考察完整性管理工作的有效性。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "管道运行期要在数据采集的基础上，做好高后果区识别和风险评价，确定高风险级管道，并明确导致风险的主控因素；根据风险值选择检测范围，根据主控风险因素选择检测技术；进而根据检测评价结果采取相应的维修维护措施。非高风险级管道也应加强日常管理，以降低管道失效率、延长使用寿命。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "应在强化日常维护管理的基础上，根据管道分类，采取差异性的数据采集、风险管理、检测评价和维修策略，达到提升本质安全和节约资金投入的最佳平衡。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "完整性管理方案编制应充分考虑管理对象的特点，形成“一区一案”或“一线一案”等形式的完整性管理方案。方案应涵盖风险管理、检测评价和维修维护等内容，对完整性管理活动做出针对性安排，并应根据工作实施情况动态更新。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "管道日常维护管理\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "日常维护是完整性管理的重要内容，也是减缓风险的主要手段之一。应围绕影响管道完整性的相关要素管控要求，重点做好管道腐蚀控制、管道巡护、第三方管理、地质灾害预防等工作。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "应根据地面生产工艺流程和输送介质特点，分析确定管道内腐蚀机理，设定腐蚀控制目标，制订内腐蚀控制方案及腐蚀监测方案，通过定期开展监测数据的分析评价，结合生产运行工况、介质性质变化等情况，适时调整腐蚀控制参数，优化防腐方案和措施。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "应充分考虑输送介质和输送工艺的影响,开展腐蚀影响因素分析和腐蚀规律预测分析，采取有针对性的腐蚀减缓措施，如：改变工艺参数、添加缓蚀剂、清管、采用耐腐蚀管材、增加管道内衬和内涂层等,做好内腐蚀控制。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "建立管道外腐蚀监测制度，及时掌控管道防腐层状况、管体腐蚀状况、环境腐蚀性、管道覆土层厚度、附属设施状况等信息。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "应建立阴极保护系统检测评价制度，定期开展阴极保护系统运行参数监测，评价阴极保护系统有效性，及时调整优化，将运行参数控制在规定范围内。定期检查与维护阴极保护系统相关设施，确保系统有效运行。管道阴极保护率应达到100%，阴极保护系统运行率达到98%以上。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "油气田公司应建立并完善管道巡护制度，对高后果区和高风险段加密巡线周期。高后果区和高风险段管道每日巡检次数宜不低于一次；宜采用GPS等手段，靠近管道中心线进行巡检，以保证巡线质量；难以实施人工巡线和长距离管道可采用无人机巡线。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "建立和完善第三方作业信息管理机制和管道保护沟通机制，及时获取、掌握、上报管道周边交叉工程动态信息，提出相关管道保护要求，具体要求如下：\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（一）建立针对第三方施工项目的管理台帐，收集整理相应第三方施工保护技术档案。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（二）防止任何单位或个人在未经审批、未采取相应保护措施前，擅自在管道安全保护范围内施工作业。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（三）第三方施工前，管道管理单位应指派专门人员到现场进行管道保护安全指导，加强第三方施工过程监护。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（四）发生管道打孔盗油（气）、第三方占压事件时，应按相关规定及时报告动态和处置信息，积极组织或协助有关部门做好事件处置。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（五）对穿越农田区域的管道，可根据实际情况，采用有效的防管道农耕损坏措施。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "应定期开展管道沿途的地质灾害识别工作。必要时开展专项风险评价，并依据评价结果及时采取相应措施，预防和处置地质灾害的破坏，确保管线平稳安全运行。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "I类管道完整性管理策略\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "对Ⅰ类管道开展高后果区识别和风险评价后，依据风险评价结果确定检测范围，并实施有针对性的检测评价，根据评价结果及时采取维修维护措施，使风险处于可控状态。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "Ⅰ类管道运行期数据采集工作应由厂（处）完成，具体包括对所管辖管道数据的收集、整合、存储与上报。Ⅰ类管道运行期数据的采集和管理参照Q/SY 1180.6《管道完整性管理规范 第6部分：数据采集》等执行。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "数据采集应贯彻“简约、实用”的原则，宜只采集后续流程必需的数据，减少冗余，并应确保数据真实、准确、完整。运行期主要收集的数据包括：运行数据、输送介质数据、风险数据、失效管理数据、历史记录数据和检测数据等。例如：输送介质、操作压力、操作温度、防腐层状况、管道检测报告、内外壁腐蚀监控、阴极保护数据，维护、维修、检测数据，失效事故、第三方破坏等信息。Ⅰ类管道数据采集最低标准应达到表5-1要求。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "表5-1  数据采集最低标准\n",
      "-----\n",
      "Table\n",
      "['zho']\n",
      "编号 数据类型 数据项 I类管道 1 管道运行期数据 管道运行数据 √ 2 失效管理数据 √ 3 历史纪录数据 √ 4 输送介质数据 √ 5 检测数据 √ 6 管道风险数据 √\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "Ⅰ类管道高后果区识别工作应由厂（处）完成。Ⅰ类管道高后果区识别方法按照《中国石油天然气股份有限公司气田集输管道检测评价及修复技术导则》第四章和《中国石油天然气股份有限公司油田集输管道检测评价及修复技术导则》第四章执行。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "Ⅰ类管道高后果区识别工作应每年开展1次，并形成《高后果区识别报告》。如发生管道改线、周边环境重大变化时，应及时开展识别并更新识别结果。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "Ⅰ类管道风险评价工作应由厂（处）组织完成。Ⅰ类管道风险评价推荐采用半定量风险评价方法，参照《中国石油天然气股份有限公司气田集输管道检测评价及修复技术导则》第五章和《中国石油天然气股份有限公司油田集输管道检测评价及修复技术导则》第五章执行；油气田公司应根据本单位实际状况和管道特点，合理设置不同危害类型的权重、风险项设置和评价分值，形成适用于本单位的半定量风险评价法。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "Ⅰ类管道在开展半定量风险评价的基础上，必要时可对高风险级、高后果区管道开展定量风险评价或地质灾害、第三方破坏等专项风险评价。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "Ⅰ类管道风险评价工作应每年开展1次，形成《风险评价报告》。如发生管道改线、周边环境重大变化时，应及时开展风险评价并更新记录。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "Ⅰ类管道检测评价工作宜由厂（处）组织完成。Ⅰ类管道满足智能内检测条件时优先推荐智能内检测，不满足时也可采用直接评价或压力试验。液体管道智能内检测可采取漏磁内检测技术或超声内检测技术，气体管道可采取漏磁内检测技术。Ⅰ类管道根据需要可开展河流穿越管段敷设状况检测、公路铁路穿越检测和跨越检测等，具体技术选取详见《中国石油天然气股份有限公司气田集输管道检测评价及修复技术导则》第六章和《中国石油天然气股份有限公司油田集输管道检测评价及修复技术导则》第六章。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "Ⅰ类管道修复工作应由厂（处）组织完成。应结合检测评价报告和相应的数据信息，制定有针对性的、合理的维修方案。维修建议包括监控、降压使用、计划维修、立即维修等。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "管道进行维修时，优先采用对生产影响较小且安全环保的技术。对于采用智能内检测的管道，不应采用影响内检测器通过性的维修方法。管体缺陷修复相关技术要求按照《中国石油天然气股份有限公司气田集输管道检测评价及修复技术导则》第七章和《中国石油天然气股份有限公司油田集输管道检测评价及修复技术导则》第七章执行，参见表5-2和表5-3。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "表5-2  管道防腐层缺陷类型推荐修复方法\n",
      "-----\n",
      "Table\n",
      "['zho']\n",
      "原防腐层类型 局部修复 大修 缺陷直径≤30mm 缺陷直径>30mm 补口修复 石油沥青、煤焦油磁漆 石油沥青、煤焦油磁漆、冷缠胶带a、粘弹体+外防护带b 冷缠胶带、粘弹体+外防护带 粘弹体+外防护带、冷缠胶带 无溶剂液态环氧/聚氨酯、无溶剂液态环氧玻璃、冷缠胶带 熔结环氧、液体环氧 无溶剂液态环氧 无溶剂液态环氧 无溶剂液态环氧/聚氨酯 三层聚乙烯/聚丙烯 热熔胶+补伤片、压敏胶+补伤片、粘弹体+外防护带 粘弹体+外防护带、压敏胶热收缩带、冷缠胶带 粘弹体+外防护带、无溶剂液态环氧+外防护带、 a、原油管道宜采用聚丙烯冷缠带。 b、外防护带包括冷缠胶带、压敏胶热收缩带等。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "表5-3  管体常见缺陷类型推荐修复方法\n",
      "-----\n",
      "Table\n",
      "['zho']\n",
      "缺陷分类 缺陷尺寸 修复方法 腐蚀 外腐蚀 泄漏 机械夹具（临时修复）、B型套筒、环氧钢套筒或换管 缺陷深度≥80%壁厚 B型套筒、环氧钢套筒或换管 超过允许尺寸的 玻璃纤维复合材料补强、A型套筒、B型套筒、环氧钢套筒或换管 未超过允许尺寸的 粘弹体修复防腐层 内腐蚀 缺陷深度≥80%壁厚 B型套筒或换管 超过允许尺寸的 B型套筒或换管 当前或计划修复时间内未超过允许尺寸的 暂不修复 制造缺陷 内外制造缺陷 缺陷深度≥80%壁厚 B型套筒、环氧钢套筒或换管 超过允许尺寸的 玻璃纤维复合材料补强、A型套筒、B型套筒、环氧钢套筒或换管 未超过允许尺寸的 暂不修复 凹陷 普通凹陷、腐蚀相关凹陷（移除压迫体后的尺寸） 深度≥6%外径 B型套筒（临时）或者换管 2%外径≤深度＜6%外径 进行磁粉探伤，无裂纹则采用A、B型或环氧套筒或者换管修复，有裂纹采用B型套筒或者换管修复 深度＜2%外径 巡线监控 焊缝相关凹陷（移除压迫体后的尺寸） 深度≥6%外径 B型套筒（临时）或者换管 2%外径≤深度＜6%外径 进行表面磁粉探伤，焊缝进行射线或者超声，无裂纹则采用A、B型或环氧套筒或者换管修复，有裂纹采用B型套筒或者换管修复 深度＜2%外径 进行表面磁粉探伤，焊缝进行射线或者超声，无裂纹则不修复，有裂纹采用B型套筒或者换管修复 焊缝缺陷 开挖检测，采用射线和超声探伤得到焊接缺陷的长度、深度，进行缺陷强度评价 不安全（有裂纹） 换管 安全（有裂纹） 打磨（表面裂纹）、B型套筒和换管 安全 不修复 开挖检测，采用射线和超声探伤得到焊接缺陷尺寸，未进行缺陷强度评价 焊缝超过标准允许级别 打磨（表面裂纹）、B型套筒和换管 焊缝在标准允许级别内 不修复\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "Ⅰ类管道完整性管理策略主要包括高后果区识别和风险评价、检测评价、维修维护3个方面，详见表5-4。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "表5-4  Ⅰ类管道完整性管理策略\n",
      "-----\n",
      "Table\n",
      "['zho']\n",
      "高后果区识别和风险评价 高后果区识别每年一次。风险评价推荐半定量风险评价方法，每年一次，必要时可对高后果区、高风险级管道开展定量风险评价或地质灾害、第三方破坏等专项风险评价。 检测评价 智能内检测 具备智能内检测条件时优先采用智能内检测。 直接评价 内腐蚀直接评价 有内腐蚀风险时开展直接评价。 外腐蚀直接评价 敷设环境调查 开展管道标识、穿跨越、辅助设施、地区等级、建（构）筑物、地质灾害敏感点等调查。 土壤腐蚀性检测 当管道沿线土壤环境变化时，开展土壤电阻率检测。 杂散电流测试 开展杂散电流干扰源调查，测试交直流管地电位及其分布，推荐采用数据记录仪。 防腐层（保温）检测 采用交流电流衰减法和交流电位梯度法（ACAS+ACVG）组合技术开展检测。 阴极保护有效性检测 对采用强制电流保护的管道，开展通断电位测试，并对高后果区、高风险级管段推荐开展CIPS检测；对牺牲阳极保护的高后果区、高风险级管段，推荐开展极化探头法或试片法检测。 开挖直接检测 优先选择高后果区、高风险段开展开挖直接检测，推荐采取超声波测厚等方法检测管道壁厚，必要时可采用C扫描、超声导波等方法测试；推荐采取防腐层粘结力测试方法检测管道防腐层性能。 压力试验 无法开展智能内检测和直接评价的管道选择压力试验。 专项检测 必要时可开展河流穿越管段敷设状况检测、公路铁路穿越检测和跨越检测等。 维修维护 开展管体和防腐层修复，应在检测评价后1年内完成。开展管道巡护、腐蚀控制、第三方管理和地质灾害预防等维护工作。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "Ⅱ类管道完整性管理策略\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "Ⅱ类管道在数据采集的基础上，开展高后果区识别和风险评价，重点对其高后果区、高风险段，实施有针对性的检测评价，并根据评价结果及时采取维修维护措施，使风险处于可控状态。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "Ⅱ类管道风险评价技术方法推荐采用半定量风险评价方法；检测评价技术方法推荐采用直接评价或压力试验方法。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "其他环节采取的技术方法及各环节的组织单位、工作频率等要求同I类管道。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "Ⅱ类管道完整性管理策略主要包括高后果区识别和风险评价、检测评价、维修维护3个方面，详见表5-5。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "表5-5  Ⅱ类管道完整性管理策略\n",
      "-----\n",
      "Table\n",
      "['zho']\n",
      "高后果区识别和风险评价 高后果区识别每年一次。风险评价推荐半定量风险评价方法，每年一次。 检测评价 直接评价 内腐蚀直接评价 具备内腐蚀直接评价条件时优先推荐内腐蚀直接评价。 外腐蚀直接评价 敷设环境调查 开展管道标识、穿跨越、辅助设施、地区等级、建（构）筑物、地质灾害敏感点等调查。 土壤腐蚀性检测 当管道沿线土壤环境变化时，开展土壤电阻率检测。 杂散电流测试 开展杂散电流干扰源调查，测试交直流管地电位及其分布，推荐采用数据记录仪。 防腐层检测 采用交流电流衰减法和交流电位梯度法（ACAS+ACVG）组合技术开展检测。 阴极保护有效性检测 对采用强制电流保护的管道，开展通断电位测试，必要时对高后果区、高风险级管段可开展CIPS检测；对牺牲阳极保护的高后果区、高风险级管段，测试开路电位、通电电位和输出电流，必要时可开展极化探头法或试片法检测。 开挖直接检测 优先选择高后果区、高风险段开展开挖直接检测，推荐采取超声波测厚等方法检测管道壁厚，必要时可采用C扫描、超声导波等方法测试；推荐采取防腐层粘结力测试方法检测管道防腐层性能。 压力试验 无法开展内腐蚀直接评价时开展压力试验。 维修维护 开展管体和防腐层修复，应在检测评价后1年内完成。开展管道巡护、腐蚀控制、第三方管理和地质灾害预防等维护工作。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "Ⅲ类管道完整性管理策略\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "对于Ⅲ类管道完整性管理，以加强日常维护管理为主要手段，重点抓好区域腐蚀控制。同时，推荐采用区域高后果区识别和风险评价方法，确定高后果区和高风险级管道，根据其主导风险因素，有针对性地采取腐蚀检测和修复措施，使风险处于可控状态。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "Ⅲ类管道数据采集工作应由厂（处）完成，具体包括对所管辖管道数据的收集、整理、存储与上报。Ⅲ类管道运行期应简化采集数据，一般收集运行数据、失效管理数据、历史纪录数据和输送介质数据等。Ⅲ类管道数据采集最低标准应达到表5-6要求。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "表5-6  数据采集最低标准\n",
      "-----\n",
      "Table\n",
      "['zho']\n",
      "编号 数据类型 数据项 Ⅲ类管道 1 管道运行数据 管道运行数据 √ 2 失效管理数据 √ 3 历史纪录数据 √ 4 输送介质数据 √ 5 检测数据 区域采集 6 管道风险数据 区域采集\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "对Ⅲ类管道优先采用区域法开展高后果区识别，重点对位于区域管网边界处、可能造成人员安全和环保事故的管道进行识别。高后果区管道参照Ⅱ类管道开展完整性管理工作。具体技术详见《中国石油天然气股份有限公司气田集输管道检测评价及修复技术导则》第四章和《中国石油天然气股份有限公司油田集输管道检测评价及修复技术导则》第四章。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "高后果区识别工作应由厂（处）完成，并形成《高后果区识别报告》。高后果区识别工作应每年开展1次。如发生管道改线、周边环境重大变化时，应及时重新开展识别。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "Ⅲ类管道风险评价工作应由厂（处）完成，并形成《风险评价报告》。Ⅲ类管道宜开展区域性风险评价，突出失效统计分析、腐蚀分析、区域风险类比分析等内容，要求如下：\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（一）科学开展失效数据对比分析工作，明确失效的主导风险因素。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（二）识别管道主要腐蚀特征，确定管道主要腐蚀类型，分析管道腐蚀成因，明确腐蚀主控因素。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（三）充分利用Ⅲ类管道在管道材质、介质类型、外部环境、运行条件和腐蚀规律方面存在的相似性，根据失效统计及腐蚀分析，总结规律，确定高风险级管道。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（四）近一年内发生过腐蚀失效或历史上发生过两次及以上腐蚀失效的管道直接判别为高风险级管道。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "对于以外腐蚀为主导风险因素的管道，检测及维修维护要求如下：\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（一）采用ACAS+ACVG方法，开展管道外防腐层检测；管道开挖后，采取超声波测厚检测管道壁厚；修复管道本体和防腐层缺陷。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（二）对于有阴极保护的管道，开展阴极保护有效性测试。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "对于以内腐蚀为主导风险因素的管道，检测及维修维护要求如下：\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（一）采用失效数据分析法或参照内腐蚀直接评价（ICDA）方法，预测腐蚀敏感点，进行开挖检测。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（二）管道开挖后，采取超声波测厚、超声波C扫描、超声导波等检测管道壁厚；修复管道缺陷。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "对于以第三方破坏为主导风险因素的管道，应加强管理，重点做好巡线、第三方信息上报、地企双方信息沟通等工作。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "对于以地质灾害为主导风险因素的管道，应加强地质灾害识别及监测工作。详见本章第二节要求。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "Ⅲ类管道还应加强制造与施工缺陷、误操作等失效类型的识别工作，并采取相应措施。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "Ⅲ类管道维修技术方法与工作要求同I、Ⅱ类管道。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "Ⅲ类管道完整性管理策略主要包括高后果区识别和风险评价、检测评价、维修维护3个方面，详见表5-7。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "表5-7  Ⅲ类管道完整性管理策略\n",
      "-----\n",
      "Table\n",
      "['zho']\n",
      "高后果区识别和风险评价 推荐采用区域高后果区识别，每年一次。 推荐采用失效分析、腐蚀分析、类比分析等定性方法确定高风险级管道；近一年内发生过腐蚀失效或历史上发生过两次及以上腐蚀失效的管道直接判别为高风险级管道；风险评价每年开展一次。 检测评价 腐蚀检测 内腐蚀检测 对管道沿线的腐蚀敏感点进行开挖抽查。 外腐蚀检测 土壤腐蚀性检测 测试管网所在区域土壤电阻率。 防腐层检测 对于高风险级管道，采用ACAS+ACVG组合技术开展检测。 阴极保护 参数测试 对采用强制电流保护的管道，开展通/断电位测试；对牺牲阳极保护的高后果区、高风险级管段，测试开路电位、通电电位和输出电流。 开挖直接检测 优先选择高后果区、高风险段开展开挖直接检测，推荐采取超声波测厚等方法检测管道壁厚；推荐采取防腐层粘结力测试方法检测管道防腐层性能。 压力试验 无法开展内、外腐蚀检测的管道可进行压力试验。 维修维护 开展管体和防腐层修复，应在检测评价后1年内完成。开展管道巡护、腐蚀控制、第三方管理和地质灾害预防等维护工作。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "管道停用期的完整性管理\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "管道停用时应采取合理的保护措施，并与运行的生产系统实现有效物理隔离。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "停用管道应根据再启用可能性实施分类管理。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（一）需要再启用的管道按运行阶段完整性管理要求执行。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（二）不再启用的管道，应按照报废程序进行处置。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "停用1年以上的管道需要重新启用时，需开展相关评估和压力试验。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "站场完整性管理\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "为适应站场完整性管理，分别将油田站场和气田站场分为三类。油气田公司可结合自身实际，适当调整站场的类别。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（一）油田站场：集中处理站、伴生气处理站、矿场油库为一类站场；脱水站、原稳站、转油站、放水站、配制站、注入站、污水处理站等为二类站场；计量站、阀组间、配水间等为三类站场。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（二）气田站场：处理厂、净化厂、天然气凝液回收厂、储气库集注站为一类站场；增压站、气田水处理回注站等为二类站场；集气站、脱水站、采气井站为三类站场。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "针对站场设备承担功能的不同，将站场设备分为静设备（压力容器和站内管道等）、动设备（机泵、压缩机和阀门等）、安全仪表系统（站控系统、井安系统、紧急关断系统等）。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "对不同类型站场中的设备，宜开展不同类型的风险评价。一类站场宜对站场内的静设备、动设备、安全仪表系统分别开展RBI、RCM、SIL等半定量风险评价，二类站场宜对站场内的静设备和动设备开展RBI和RCM半定量风险评价，三类站场可对站场内的静设备开展RBI定性风险评价。风险评价工作宜由厂（处）组织完成。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "站场设备检测评价、维修维护工作宜由厂（处）组织完成，要求如下：\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（一）压力容器应按照特种设备安全技术规范的要求开展定期检验。可将RBI评价结果与检验机构充分沟通，提高压力容器定期检验的针对性。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（二）站场内的管道应按RBI评价结果开展检测评价。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（三）对于开展了RCM、SIL评价的动设备和安全仪表系统，宜结合RCM、SIL给出的检维修策略，优化维护保养周期和方法；未开展RCM、SIL评价的动设备和安全仪表系统，按照既有相关规定要求，开展维修保养工作。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "应建立站场设备数据台账，台账的数据应包括设备基础信息、日常运行、检测评价和维修维护等。数据台账管理工作宜由厂（处）组织完成。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "运行机制与保障\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "运行机制和保障措施主要包括：制度流程建设、操作实施管理、资金保障、技术保障、人员培训、信息系统平台建设等。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "油气田公司应在自身现有制度流程的基础上，根据完整性管理工作的要求和特点，理顺、调整和完善现有制度流程，使完整性管理工作有机纳入油气田公司制度流程体系。油气田公司应编制管理实施细则、程序文件和作业文件，逐步构建文件体系。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "项目操作实施管理主要包括项目立项与审批、质量管控、作业风险控制等。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（一）完整性管理项目应先论证后立项。项目立项论证应基于总体规划和年度工作方案，充分体现项目立项的科学性和必要性；项目立项论证由油气田公司组织开展，并应科学开展前期工作。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（二）项目实施可参照股份公司建设项目管理相关规定执行。油气田公司应建立各项工作及成果的质量分级把关机制，确保工作质量满足相关设计方案和规范标准的要求。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（三）涉及风险作业的项目应按相关要求编制风险作业方案与应急预案，并按风险作业相关规定经审批后实施。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "各级单位应为完整性管理工作提供资金保障。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（一）管道和站场的日常维护及风险管理由厂（处）级单位生产成本解决，其中包括数据采集、高后果区识别和风险评价、日常维护和效能评价等工作内容。\n",
      "-----\n",
      "UncategorizedText\n",
      "['zho']\n",
      "（二）以项目方式实施的检测、评价和修复等工作，按照管道和站场类型的差异，资金来源不同。其中，Ⅰ类管道和站场完整性管理项目可在油气田公司生产成本中解决或纳入老油气田改造费用；Ⅱ类、Ⅲ类管道和站场完整性管理项目由油气田公司生产成本解决。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（三）对评估存在重大风险或安全隐患管道和站场的整改可纳入安全隐患治理、洪灾水毁、老油气田改造等渠道中解决，并按照股份公司相关管理制度执行。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "完整性管理应采用先进成熟的技术并逐步形成和完善技术体系。同时针对技术需求和难点，积极探索和开展科研攻关。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（一）股份公司应组织开展技术体系构建和技术攻关规划工作，引导技术发展方向。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（二）油气田公司应结合自身特点和管理需求，跟踪、筛选、评价适合本油气田公司的各类管道和站场完整性技术；做好新技术的论证、试用、评价和推广应用等工作。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（三）油气田公司应积极开展技术总结，固化成果，为制定和完善完整性管理技术标准提供基础支撑。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "为促进管道和站场完整性管理工作开展，保证工作质量，股份公司和油气田公司应组织开展培训工作。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（一）完整性管理工作从业人员应参加培训并通过考试。长期服务承包商从业人员也应参加完整性管理培训。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（二）培训讲师队伍应由油气田公司完整性管理专家和国内外特邀专家组成，形成权威性的授课队伍。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "完整性管理培训分基础培训和高级培训。完整性管理基础培训主要针对基层从业人员。培训要求如下：\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（一）掌握完整性管理基本知识，含发展历程、核心理念和主要做法等。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（二）掌握完整性管理相关法规和标准规范。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（三）掌握完整性管理主要数据类型和采集方法。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（四）掌握完整性管理分类分级方法，能独立进行高后果区识别和风险评价。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（五）掌握检测、评价、修复、效能评价基本知识。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（六）能在操作权限内独立使用完整性管理系统平台。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "完整性管理高级培训主要面向完整性管理相关高级管理人员、技术研发人员和标准规定主要制定人。培训要求如下：\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（一）掌握完整性管理前沿技术和发展趋势。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（二）掌握完整性管理工作流程全过程主要工作。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（三）能对专业服务公司提出技术要求并验收。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "（四）能作为讲师开展完整性管理基础培训。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "为提升完整性管理工作水平，提高工作效率，应建立股份公司统一的、与统建系统（A4、A5、A11等）相兼容的油气田管道和站场完整性管理信息系统。具体要求如下：\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（一）信息系统可以由多个模块组成，但至少应编制形成数据采集、分析评价、管理三个模块的基本功能框架。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（二）信息系统应针对股份公司、油气田公司、厂（处）等不同单位、不同层级的用户分别设置权限，以满足各级用户能够在各自管辖范围内有效开展完整性管理工作。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "（三）信息系统应具备从A4、A5、A11等统建信息系统采集数据的功能；信息系统应设置友好的数据接口，与GIS、ERP、SCADA以及风险及检测评价软件等兼容；信息系统应能够适应分步开发的需要，技术成熟的模块可优先开发。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "完整性管理工作报告\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "完整性管理工作报告分为三级，分别是股份公司级、油气田公司级和厂（处）级。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "股份公司每年对油气田管道和站场完整性管理工作进行总结，形成完整性管理年度工作报告。完整性管理工作报告主要内容包括：完整性管理整体进展、年度工作方案落实、取得的成果和存在的问题、信息系统建设与运维、监督检查、人员培训和技术体系建设等情况，明确业务发展方向，对下一年工作提出要求。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "油气田公司和厂(处)应每年对完整性管理工作进行总结，并编制上报完整性管理年度总结报告。完整性管理年度总结报告主要内容包括：实施情况及取得的成果、存在问题和改进措施、体系文件编制、信息系统建设与运维、组织机构建设、下一年工作计划制定等情况。完整性管理年度总结报告编制格式见附录2。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "监督检查与考核评比\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "为掌握油气田公司完整性管理的真实水平，发现薄弱环节，应定期开展效能评价。效能评价应设定评价指标，对比历年各项指标变化情况，评价完整性管理工作效果。效能评价重点突出管道失效率变化情况和管道更新改造维护费用变化情况。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "股份公司定期对油气田公司完整性管理工作进行监督检查。油气田公司应每年对厂（处）完整性管理工作进行监督、检查与考核。监督、检查与考核内容包括组织机构建设、工作计划、工作目标、项目管理、风险管理、数据管理、变更管理、效能评价、培训管理、失效管理等。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "完整性管理工作宜定期组织开展评比活动，评选完整性管理先进单位和先进个人。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "附  则\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "油气田公司应依据本《规定》制定油气田管道和站场完整性管理细则。\n",
      "-----\n",
      "ListItem\n",
      "['zho']\n",
      "本《规定》自发布之日起实施，由勘探与生产分公司负责解释。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "附录1 术  语\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "1.1 合理可行原则（最低合理可行） as low as reasonably practically\n",
      "-----\n",
      "UncategorizedText\n",
      "['zho']\n",
      "是风险可接受水平采用的一种项目风险判据原则。该原则依据风险的严重程度将项目可能出现的风险进行分级。项目风险由不可容忍线和可忽略线将其分为风险严重区、最低合理可行（ALARP）区和可忽略区。风险严重区和最低合理可行（ALARP）区是项目风险辨识的重点所在，项目风险辨识必须尽可能地找出该区所有的风险。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "1.2 高后果区 high consequence areas\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "指如果管道发生泄漏会危及公众安全，或对财产、环境造成较大破坏的区域。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "1.3 高风险级管道 high risk lines\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "风险评价结果为高风险级的管道。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "1.4 风险评价 risk assessment\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "指识别对设施安全运行有不利影响的危害因素，评价事故发生的可能性和后果大小，综合得到管道风险大小，并提出相应风险控制措施的分析过程。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "1.5 效能评价 performance assessment\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "综合评价完整性管理工作所获得的管理效果、效率及效益。其评价结果是衡量从事完整性管理工作过程与结果的尺度。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "1.6 管道更新改造维护费用 expense for pipeline replacement repair and maintenance\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "为保证管道本质安全，实现失效率控制目标，应在管道更新、局部改造、检测修复和日常维护等完整性管理领域投入的费用。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "1.7 基线评价 baseline assessment\n",
      "-----\n",
      "UncategorizedText\n",
      "['zho']\n",
      "为获取完整性管理相关信息实施的第一次检测评价，内容包括管道规格、沿线地区等级、管道设施、外防腐系统性能等信息。I、Ⅱ、Ⅲ类管道可采取不同的基线评价方法。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "1.8 检测评价 inspection assessment\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "通过智能内检测、直接评价、压力试验或其他已证实的可以确定管道状态的等同技术来确定管道当前状况的过程。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "1.9 一线一案  integrity management plan for one pipeline\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "对单条管道按照相关管理和技术要求编制的完整性管理方案，一条管道编写一个方案。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "1.10 一区一案  integrity management plan for one area\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "对整个采油气区域的管道按照相关管理和技术要求编制的完整性管理方案，整个区域编写一个方案。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "1.11 管道失效率 pipeline failure rate\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "管道失效是指发生的事件，造成在用管道系统的某一部分非正常损坏、功能缺失或性能下降，而导致该部分已完全不能操作，或还能操作，但已不能令人满意地完成指定任务。管道失效率是指每个自然年度内，每千米管道的失效次数。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "1.12 智能内检测 In-line inspection/intelligent inspection\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "智能内检测方法包括：变形内检测、漏磁内检测、超声内检测和其他智能内检测等。针对管体存在的缺陷类型，确定合适的智能内检测方法。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "1.13 内腐蚀直接评价（ICDA） internal corrosion direct assessment\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "评价管道内腐蚀对管道完整性影响的方法，由预评价、间接检测和评价、直接检测和评价、再评价四个步骤组成。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "1.14 外腐蚀直接评价（ECDA） external corrosion direct assessment\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "评价外壁腐蚀对管道完整性影响的方法，由预评价、间接检测和评价、直接检测和评价、再评价四个步骤组成。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "1.15 完整性管理考核 performance review\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "完整性管理考核是为验证核查完整性管理体系的适宜性、充足性和有效性，发现体系中存在的优势和不足，促进完整性管理体系的持续改进而开展的考核活动。\n",
      "-----\n",
      "NarrativeText\n",
      "['zho']\n",
      "1.16 基于风险的检测（RBI） risk based inspection\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "对油气站场中的静设备，如压力管道、压力容器等进行风险评估及风险管理方面的分析。根据分析的结果提出一个根据风险等级制定的设备检测计划。\n",
      "-----\n",
      "NarrativeText\n",
      "['zho']\n",
      "1.17 以可靠性为中心的维护（RCM） reliability centered maintenance\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "是一种设备设施维护的理念和策略。按照以最少的资源消耗保持设备设施固有可靠性和安全性的原则，通过功能与故障分析，应用逻辑判断的方法确定设备设施预防性维修要求的过程。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "1.18 安全完整性等级（SIL） Safety integrity level\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "由每小时发生的危险失效概率来区分。国际标准中共规定了四个等级，第四级表示最高的完整性程度，第一级表示最低。对应着每一种安全完整性等级，都规定了可以降低设计错误的设计规范。\n",
      "-----\n",
      "NarrativeText\n",
      "['zho']\n",
      "1.19 输油管道 purified oil transportation lines\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "油气田内，输送净化油的管道。\n",
      "-----\n",
      "NarrativeText\n",
      "['zho']\n",
      "1.20 输气管道 purified gas transportation lines\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "油气田内，输送净化气的管道。\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "附录2 完整性管理年度总结报告编制模板\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "1  本年度工作概述\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "1.1管理现状\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "1.2 工作目标及完成情况\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "1.3 工作方案及实施情况\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "2  单项工作实施情况\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "2.1 高后果区识别\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "2.2 风险评价\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "2.3 检测评价\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "2.4 维修与维护\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "2.5 体系文件编制\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "2.6 数据录取及信息系统建设\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "2.7 组织机构建设\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "3  实施效果\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "3.1 失效率变化情况\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "3.2 更新改造维护费用变化情况\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "4  下一年度完整性管理工作计划\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "4.1 工作目标\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "4.2 工作方案\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "4.3 主要工作内容\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "5  存在问题及建议\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "6  附表\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "附表1  油气田管道完整性管理年度工作量统计表\n",
      "-----\n",
      "Table\n",
      "['zho']\n",
      "编号 工作内容 数量（条） 长度（km） 备注 1 数据采集 2 高后果区识别及风险评价 2.1 开展高后果区识别的管道数量 2.2 识别出高后果区的管道数量 2.3 开展风险评价的管道数量 2.4 识别出高风险的管道数量 3 检测评价 3.1 智能内检测 3.2 直接评价 3.3 其他方法（压力试验等） 3.4 检测评价出的问题 4 管道维修 5 管道更新改造维护费用 万元\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "附表2  油气田站场完整性管理年度工作量统计表\n",
      "-----\n",
      "Table\n",
      "['zho']\n",
      "编号 工作内容 站场数量（座） 设备数量（台套） 备注 1 数据采集 2 风险和检测评价 2.1 基于风险的检测  RBI 2.2 以可靠性为中心的维护  RCM 2.3 安全完整性等级  SIL 2.4 检测评价出的问题 3 维修维护 4 油气站场更新改造维护费用 万元\n",
      "-----\n",
      "Title\n",
      "['zho']\n",
      "附表3  油气田管道和站场完整性管理年度效果统计表\n",
      "-----\n",
      "Table\n",
      "['zho']\n",
      "编号 工作内容 失效率 （次/（千米·年）） 数量（次） 备注 1 油气管道失效情况 1.1 油田集输管道 1.2 气田集输管道 1.3 其他类型管道 2 油气站场失效情况 失效率单位为 （次/（座·年）） 2.1 油田站场 2.2 气田站场\n",
      "-----\n",
      "---------------\n",
      "中国石油天然气股份有限公司\n",
      "\n",
      "油气田管道和站场完整性管理规定\n",
      "\n",
      "中国石油天然气股份有限公司勘探与生产分公司\n",
      "\n",
      "2017年7月\n",
      "\n",
      "前  言\n",
      "\n",
      "完整性管理是为保障油气田管道和站场完整、提高本质安全而进行的一系列管理活动，是近年来逐渐发展成熟并得到成功应用的管理体系。2016年以来，中国石油天然气股份有限公司（以下简称“股份公司”）启动油气田管道和站场完整性管理工作，持续开展试点工程，并配套开展了科研攻关，取得了良好的效果。完整性管理被证明是油气田管道和站场提升本质安全、延长使用寿命、提高经济效益的有效手段。\n",
      "---------------\n",
      "为科学推进油气田管道和站场完整性管理工作，助力上游业务提质、降本、增效发展，提高油气田管道和站场管理水平，股份公司勘探与生产分公司组织规划总院编制完成了《中国石油天然气股份有限公司油气田管道和站场完整性管理规定》，组织西南油气田分公司编制完成了《中国石油天然气股份有限公司油田集输管道检测评价及修复技术导则》、《中国石油天然气股份有限公司气田集输管道检测评价及修复技术导则》、《中国石油天然气股份有限公司油气集输站场检测评价及维护技术导则》，从管理和技术两个方面对完整性管理提出了具体的要求。管理规定和三个技术导则互相支持、互为补充，是上游板块完整性管理文件体系的重要内容。\n",
      "\n",
      "《中国石油天然气股份有限公司油气田管道和站场完整性管理规定》重点阐述了完整性管理的原则、目标、职责和建设期、运行期、停用期完整性管理的内容，并对完整性管理报告和监督检查考核工作提出了要求。在规定编制过程中，充分借鉴了各油气田公司的实践经验，特别是参考了西南、大庆、长庆、大港、新疆、华北、青海等完整性管理试点工程实施单位的成果。\n",
      "\n",
      "本规定共11章，91条，2个附录。\n",
      "---------------\n",
      "本规定由中国石油天然气股份有限公司勘探与生产分公司提出和归口。\n",
      "\n",
      "编制单位：中国石油天然气股份有限公司勘探与生产分公司、中国石油天然气股份有限公司规划总院。\n",
      "\n",
      "主要起草人：张维智  陈宏健  郝晓东  王  坤  付  勇  \n",
      "\n",
      "孙铁民  杨莉娜  李  冰  徐英俊  李秋忙  \n",
      "\n",
      "主要参加人：班兴安  胡玉涛  刘海峰  韩凤臣  秦  林  \n",
      "\n",
      "张宝良  王永波  李国才  张  昆  刘  畅  \n",
      "\n",
      "李双林  范永昭  张  良  苗新康  崔新村\n",
      "\n",
      "审核人：汤  林\n",
      "\n",
      "审定人：王元基\n",
      "\n",
      "本规定于2017年7月18日首次发布。\n",
      "\n",
      "目  录\n",
      "\n",
      "第一章 总  则\t1\n",
      "\n",
      "第二章 原则及目标\t1\n",
      "\n",
      "第三章 管理机构与职责\t5\n",
      "\n",
      "第四章 管道建设期的完整性管理\t6\n",
      "\n",
      "第五章 管道运行期的完整性管理\t10\n",
      "\n",
      "第一节 工作流程和基本要求\t10\n",
      "\n",
      "第二节 管道日常维护管理\t11\n",
      "\n",
      "第三节 I类管道完整性管理策略\t13\n",
      "\n",
      "第四节 Ⅱ类管道完整性管理策略\t17\n",
      "\n",
      "第五节 Ⅲ类管道完整性管理策略\t18\n",
      "\n",
      "第六章 管道停用期的完整性管理\t21\n",
      "\n",
      "第七章 站场完整性管理\t22\n",
      "---------------\n",
      "第八章 运行机制与保障\t23\n",
      "\n",
      "第九章 完整性管理工作报告\t26\n",
      "\n",
      "第十章 监督检查与考核评比\t26\n",
      "\n",
      "第十一章 附  则\t27\n",
      "\n",
      "附录1 术  语\t28\n",
      "---------------\n",
      "附录2 完整性管理年度总结报告编制模板\t31\n",
      "\n",
      "—14—\n",
      "\n",
      "总  则\n",
      "\n",
      "为保障油气田管道和站场本质安全，控制运行风险，延长使用寿命，提高管理水平，助力上游业务提质、降本、增效和可持续发展，特制定《中国石油天然气股份有限公司油气田管道和站场完整性管理规定》（以下简称《规定》）。\n",
      "\n",
      "《规定》涵盖了油气田管道和站场完整性管理（以下简称完整性管理）的目标、原则、内容和要求。术语解释见附录1。\n",
      "\n",
      "完整性管理是指管理者不断根据最新信息，对管道和站场运营中面临的风险因素进行识别和评价，并不断采取针对性的风险减缓措施，将风险控制在合理、可接受的范围内，使管道和站场始终处于可控状态，预防和减少事故发生，为其安全经济运行提供保障。\n",
      "\n",
      "完整性管理应贯穿管道和站场全生命周期。在建设及运行阶段技术方案的优化和决策过程中，应贯彻完整性管理理念。\n",
      "\n",
      "完整性管理应遵守国家和地方有关法律法规，遵循相关技术标准，执行股份公司相关规章制度，符合HSE体系有关规定。\n",
      "\n",
      "本《规定》适用于股份公司所属油气田分（子）公司（以下简称“油气田公司”）的国内陆上油气田管道和油气田站场。其他油气田管道和站场可参照执行。\n",
      "\n",
      "原则及目标\n",
      "---------------\n",
      "完整性管理应遵循以下原则：\n",
      "\n",
      "（一）合理可行原则。科学制定风险可接受准则，采取经济有效的风险减缓措施，将风险控制在可接受范围内。\n",
      "\n",
      "（二）分类分级原则。对管道和站场实行管理分类、风险分级，针对不同类别的管道和站场采取差异化的策略。\n",
      "\n",
      "（三）风险优先原则。针对评价后位于高后果、环境敏感等区域的高风险管道和站场，要及时采取相应的风险消减措施。\n",
      "\n",
      "（四）区域管理原则。突出以区域为单元开展高后果区识别、风险评价和检测评价等工作。\n",
      "\n",
      "（五）有序开展原则。按照先重点、后一般，先试点、再推广的顺序开展完整性管理工作。\n",
      "\n",
      "按照介质类型、压力等级和管径等因素，将管道划分为Ⅰ、Ⅱ、Ⅲ类管道，详见表2.1～表2.3。油气田公司可结合自身实际，适当调整分类界限。\n",
      "\n",
      "表2.1  采气、集气、注气、输气管道分类\n",
      "---------------\n",
      "采气、集气、注气管道分类 采气、集气、注气管道分类 采气、集气、注气管道分类 采气、集气、注气管道分类 采气、集气、注气管道分类 P≥16 9.9≤P<16 6.3≤P<9.9 P<6.3 DN≥200 Ⅰ类管道 Ⅰ类管道 Ⅰ类管道 Ⅱ类管道 100≤DN<200 Ⅰ类管道 Ⅱ类管道 Ⅱ类管道 Ⅱ类管道 DN<100 Ⅰ类管道 Ⅱ类管道 Ⅱ类管道 Ⅲ类管道\n",
      "---------------\n",
      "输气管道分类 输气管道分类 输气管道分类 输气管道分类 输气管道分类 P≥6.3 4.0≤P<6.3 2.5≤P<4.0 P<2.5 DN≥400 Ⅰ类管道 Ⅰ类管道 Ⅰ类管道 Ⅱ类管道 200≤DN<400 Ⅰ类管道 Ⅱ类管道 Ⅱ类管道 Ⅱ类管道 DN<200 Ⅰ类管道 Ⅱ类管道 Ⅱ类管道 Ⅲ类管道\n",
      "---------------\n",
      "注：1.P，最近3年的最高运行压力，MPa；DN，公称直径，mm；\n",
      "\n",
      "2.硫化氢含量大于等于5%的原料气管道，直接划分为Ⅰ类管道；\n",
      "\n",
      "3.Ⅰ、Ⅱ管道长度小于3km的，类别下降一级；Ⅱ、Ⅲ类管道长度大于等于20km的，类别上升一级；Ⅲ类管道中的高后果区管道，类别上升一级。\n",
      "\n",
      "表2.2  出油、集油、输油管道分类\n",
      "---------------\n",
      "P≥6.3 4≤P<6.3 2.5＜P＜4 P≤2.5 DN≥250 Ⅰ类管道 Ⅰ类管道 Ⅱ类管道 Ⅱ类管道 100≤DN<250 Ⅰ类管道 Ⅱ类管道 Ⅱ类管道 Ⅱ类管道 DN<100 Ⅱ类管道 Ⅱ类管道 Ⅱ类管道 Ⅲ类管道\n",
      "---------------\n",
      "注：1.P，最近3年的最高运行压力，MPa；DN，公称直径，mm；\n",
      "\n",
      "2.输油管道按Ⅰ类管道处理；液化气、轻烃管道，类别上升一级；Ⅰ、Ⅱ管道长度小于3km的，类别下降一级；Ⅲ类管道中的高后果区管道，类别上升一级。\n",
      "\n",
      "表2.3  供水、注入管道分类\n",
      "---------------\n",
      "P≥16 6.3≤P＜16 2.5＜P＜6.3 P≤2.5 DN≥200 Ⅱ类管道 Ⅱ类管道 Ⅲ类管道 Ⅲ类管道 DN<200 Ⅱ类管道 Ⅲ类管道 Ⅲ类管道 Ⅲ类管道\n",
      "---------------\n",
      "注：P，最近3年的最高运行压力，MPa；DN，公称直径，mm。\n",
      "\n",
      "管道按照风险大小可划分为高风险级管道、中风险级管道和低风险级管道三个等级。风险等级示意图见图2.1。\n",
      "---------------\n",
      "80%-100% 5 中 5 中 10 高 15 高 20 高 25 60%-80% 4 低 4 中 8 中 12 高 16 高 20 40%-60% 3 低 3 中 6 中 9 中 12 高 15 20%-40% 2 低 2 低 4 中 6 中 8 中 10 0%-20% 1 低 1 低 2 低 3 低 4 中 5\n",
      "---------------\n",
      "失效概率 失效后果 失效概率 失效后果 1 2 3 4 5 失效概率 失效后果 失效概率 失效后果 一般 中等 较大 重大 特大\n",
      "---------------\n",
      "注：1.失效概率，是指发生失效的可能性，最低为0，最高为100%；\n",
      "\n",
      "2.失效后果，是指失效后产生后果的严重程度，考虑人员伤亡、环境破坏、财产损失、生产影响、社会信誉等方面，可分为一般、中等、较大、重大、特大；\n",
      "\n",
      "3.风险=失效概率×失效后果。根据风险数值可分为高、中、低三个等级，分别对应图中的红色、黄色和绿色三个区域。红色和黄色区域是需要重点管控的区域。\n",
      "---------------\n",
      "图2.1 风险等级示意图\n",
      "\n",
      "不同类型、不同风险的管道的完整性管理工作方法和管理模式不同。\n",
      "\n",
      "（一）对于I、Ⅱ类管道，开展高后果区识别和风险评价，筛选出高风险级管道，优选适合的方法开展检测、评价和修复工作，降低管道失效率，减少管道更换费用。\n",
      "\n",
      "（二）对于Ⅲ类管道，应科学认识其风险可接受程度，将风险管理的理念融入到日常管理当中，强化管道日常管理和维护工作，突出失效分析、腐蚀分析、腐蚀控制、日常巡护和维抢修工作，控制和削减风险、实现由事故管理向预防性管理转变，降低管道失效率和管道更换费用。\n",
      "\n",
      "油气田公司应制定年度管道失效率目标，逐年降低管道失效率。完整性管理实施后，至少应达到以下目标。对于处于高后果、环境敏感的高风险管道，应加强管理，进一步降低失效率。\n",
      "\n",
      "（一）I类管道失效率不高于0.002次/（千米·年）。\n",
      "\n",
      "（二）Ⅱ类管道失效率不高于0.01次/（千米·年）。\n",
      "\n",
      "（三）Ⅲ类管道失效率不高于0.05次/（千米·年）。\n",
      "---------------\n",
      "（四）管道更新改造维护费用下降10%。\n",
      "\n",
      "油气田公司应在《规定》实施后首先开展管道的高后果区识别和风险评价工作。1年内完成所有管道的高后果区识别，3年完成所有管道的风险评价，5年实现I、Ⅱ类管道完整性管理全覆盖，10年实现所有管道完整性管理全覆盖。\n",
      "\n",
      "油气田公司应根据完整性管理目标和工作要求制定可实施的年度工作方案和规划方案。\n",
      "\n",
      "管理机构与职责\n",
      "\n",
      "油气田公司应在股份公司统一领导下，有序开展完整性管理工作。\n",
      "\n",
      "完整性管理实行股份公司、油气田公司和厂（处）三级管理模式。各级管理单位应明确完整性管理主管领导和主管部门，设置相应岗位，落实管理责任和职责分工。\n",
      "\n",
      "勘探与生产分公司是股份公司油气田管道和站场完整性管理的主管部门。职责如下：\n",
      "\n",
      "（一）组织完整性管理标准规范和管理文件的制修订。\n",
      "\n",
      "（二）组织完整性管理科研规划和攻关，建立技术体系。\n",
      "\n",
      "（三）组织完整性管理信息系统的建设与管理。\n",
      "\n",
      "（四）组织对油气田公司完整性管理工作进行监督检查。\n",
      "\n",
      "油气田公司完整性管理主管部门职责如下：\n",
      "\n",
      "（一）组织制修订完整性管理实施细则、程序文件、作业文件和油气田公司级标准规范。\n",
      "---------------\n",
      "（二）组织制定完整性管理年度工作方案。\n",
      "\n",
      "（三）编制并上报完整性管理年度工作总结。\n",
      "\n",
      "（四）组织油气田公司完整性管理科研工作，包括科研规划、项目申请和技术攻关等。\n",
      "\n",
      "（五）组织完整性管理培训。\n",
      "\n",
      "（六）组织厂（处）完整性管理的监督、检查与考核。\n",
      "\n",
      "厂（处）完整性管理主管部门职责如下：\n",
      "\n",
      "（一）执行油气田公司下达的年度工作方案，制定并上报厂（处）年度工作方案。\n",
      "\n",
      "（二）编制“一区一案”或“一线一案”等完整性管理方案。\n",
      "\n",
      "（三）负责数据收集、整理、存储及历史数据恢复。\n",
      "\n",
      "（四）负责高后果区识别和风险评价工作。\n",
      "\n",
      "（五）开展管道检测、评价和修复工作。\n",
      "\n",
      "（六）开展完整性管理效能评价工作。\n",
      "\n",
      "（七）编制并上报完整性管理年度工作总结。\n",
      "\n",
      "（八）参与完整性管理科研攻关。\n",
      "\n",
      "管道建设期的完整性管理\n",
      "\n",
      "可行性研究和设计阶段完整性管理要求如下：\n",
      "\n",
      "（一）应采用高后果区识别和风险评价技术，识别高后果区和主要风险因素，以减少人口密集、环境敏感区段，并先期规避或减缓腐蚀、地质灾害、占压、第三方破坏风险。\n",
      "---------------\n",
      "（二）应充分结合安全、环境影响、职业病危害和地质灾害等专项评价和安全设施设计、消防建审提出的风险控制结论，从管道材质、管道防腐、焊缝检测、工艺参数、工艺流程、自控水平等方面提出有针对性的风险控制措施。\n",
      "\n",
      "（三）通过人口密集区、环境敏感区等需要重点保护地段的管道，根据具体情况，可论证设置安全预警系统或泄漏监测系统。\n",
      "\n",
      "（四）根据不同类型管道推荐的检测方法，配套设计相应的工艺设施。推荐采用智能内检测的管道应设置内检测器收发装置,管道设计应满足内检测器通过性要求。\n",
      "\n",
      "（五）设计中应充分考虑城市、乡镇的发展规划对管道的影响。\n",
      "\n",
      "（六）科学判断管道内外腐蚀环境，采取合理可行的腐蚀防护控制方法。\n",
      "---------------\n",
      "（七）分析腐蚀防控因素，在多方案技术经济比选的基础上，合理确定管道材质。\n",
      "\n",
      "管道应严格按照设计图纸进行施工，并遵循设计变更程序，减少设计变更数量。施工过程中要做好物资采购、质量监督和工程验收管理，确保施工质量。\n",
      "\n",
      "管道在工程交工验收前，应进行管道走向、埋深检测、防腐层及阴极保护检测，记录相关的检测结果和整改情况，并完成基线评价。各类管道基线评价方法见表4-1~表4-3。\n",
      "\n",
      "表4-1  Ⅰ类管道基线检测技术方法要求\n",
      "---------------\n",
      "检测项目 参考标准 技术方法及要求 管道中心线测量 Q/SY 1180.6 采集精度达到亚米级，宜选用载波相位差分（RTK）测量技术。建设期以管道焊缝为特征点采集坐标；运行初期以75米间距采集埋深和位置坐标。 路由调查 GB 50251 采集管道附属设施及周边信息数据。涉及坐标采集时，宜选用RTK测量技术。 路由调查 SY/T 0087.1 采集管道附属设施及周边信息数据。涉及坐标采集时，宜选用RTK测量技术。 路由调查 SY/T 6064 采集管道附属设施及周边信息数据。涉及坐标采集时，宜选用RTK测量技术。\n",
      "---------------\n",
      "路由调查 SY/T 6828 采集管道附属设施及周边信息数据。涉及坐标采集时，宜选用RTK测量技术。 智能内检测 GB/T 27699 选择几何测径和漏磁检测。提取几何变形、本体缺陷、焊接缺陷等信息。 智能内检测 SY/T 6597 选择几何测径和漏磁检测。提取几何变形、本体缺陷、焊接缺陷等信息。 智能内检测 Q/SY 1267 选择几何测径和漏磁检测。提取几何变形、本体缺陷、焊接缺陷等信息。 外腐蚀检测 GB/T 19285 应开展防腐层整体性能和缺陷检测、极化电位测试、自然电位测试；高风险区域进行密间隔电位（CIPS）测试。\n",
      "---------------\n",
      "外腐蚀检测 GB/T 21246 应开展防腐层整体性能和缺陷检测、极化电位测试、自然电位测试；高风险区域进行密间隔电位（CIPS）测试。 外腐蚀检测 SY/T 0087.1 应开展防腐层整体性能和缺陷检测、极化电位测试、自然电位测试；高风险区域进行密间隔电位（CIPS）测试。\n",
      "---------------\n",
      "表4-2  Ⅱ类管道基线检测技术方法要求\n",
      "---------------\n",
      "检测项目 依据标准 技术方法及要求 管道中心线测量 Q/SY 1180.6 采集精度达到亚米级，宜选用RTK测量技术。建设期以管道焊缝为特征点采集坐标；运行初期以75米间距采集埋深和位置坐标。 路由调查 GB 50251 采集管道附属设施及周边信息数据。涉及坐标采集时，宜选用RTK测量技术。 路由调查 SY/T 0087.1 采集管道附属设施及周边信息数据。涉及坐标采集时，宜选用RTK测量技术。 路由调查 SY/T 6064 采集管道附属设施及周边信息数据。涉及坐标采集时，宜选用RTK测量技术。\n",
      "---------------\n",
      "路由调查 SY/T 6828 采集管道附属设施及周边信息数据。涉及坐标采集时，宜选用RTK测量技术。 路由调查 SY/T 6597 采集管道附属设施及周边信息数据。涉及坐标采集时，宜选用RTK测量技术。 路由调查 Q/SY 1267 采集管道附属设施及周边信息数据。涉及坐标采集时，宜选用RTK测量技术。 外腐蚀检测 GB/T 19285 开展防腐层整体性能和缺陷检测、极化电位测试、自然电位测试。 外腐蚀检测 GB/T 21246 开展防腐层整体性能和缺陷检测、极化电位测试、自然电位测试。\n",
      "---------------\n",
      "外腐蚀检测 SY/T 0087.1 开展防腐层整体性能和缺陷检测、极化电位测试、自然电位测试。\n",
      "---------------\n",
      "表4-3  Ⅲ类管道基线检测技术方法要求\n",
      "---------------\n",
      "检测项目 依据标准 技术方法及要求 管道中心线测量 Q/SY 1180.6 采集精度达到亚米级，可选用RTK测量技术。建设期以管道焊缝为特征点采集坐标；运行初期以75米间距采集埋深和位置坐标。 路由调查 GB 50251 采集管道附属设施及周边信息数据。涉及坐标采集时，可选用RTK测量技术。 路由调查 SY/T 0087.1 采集管道附属设施及周边信息数据。涉及坐标采集时，可选用RTK测量技术。 路由调查 SY/T 6064 采集管道附属设施及周边信息数据。涉及坐标采集时，可选用RTK测量技术。\n",
      "---------------\n",
      "路由调查 SY/T 6828 采集管道附属设施及周边信息数据。涉及坐标采集时，可选用RTK测量技术。 外腐蚀检测 GB/T 19285 开展防腐层整体性能和缺陷检测，极化电位测试、自然电位测试。 外腐蚀检测 GB/T 21246 开展防腐层整体性能和缺陷检测，极化电位测试、自然电位测试。 外腐蚀检测 SY/T 0087.1 开展防腐层整体性能和缺陷检测，极化电位测试、自然电位测试。\n",
      "---------------\n",
      "管道数据采集和移交工作参照Q/SY 1180.6《管道完整性管理规范 第6部分：数据采集》执行。建设期数据采集的主要内容具体如下：\n",
      "\n",
      "（一）管道属性数据，主要包括中心线数据、基础数据等。例如：起始点、结束点、测量控制点、壁厚、设计温度、设计压力、设计流量、弯管类型、压力试验、管材、管径、三通、弯头、焊口、防腐层、补口材料、缺陷记录等数据。\n",
      "\n",
      "（二）管道环境及人文数据，主要包括地理信息数据、侵占数据等。例如：行政区划、地理位置、土壤信息、水工保护、附近人口密度、建筑、三桩、海拔高度、交通便道、环保绿化、穿跨越、管道支撑、道路交叉、水文地质、降水量、航拍和卫星遥感图像等数据信息，还包括管道周边的社会依托信息，例如：政府机构、公安、消防、医院、电力供应和机具租赁等数据。\n",
      "---------------\n",
      "（三）管道建造数据，主要包括阴极保护系统数据、设施数据等。例如：管子制造商、制造日期、施工单位、施工日期、连接方式、工艺及检验结果、阴保的安装、管道纵断面图、埋深、土壤回填等数据。\n",
      "\n",
      "新建管道采集数据和已建管道恢复建设期数据时，根据管道类型不同，数据内容和深度可以有所差异，但不应低于表4-4所示最低标准。\n",
      "\n",
      "表4-4  建设期数据采集最低标准\n",
      "---------------\n",
      "编号 数据类型 数据项 I类管道 Ⅱ类管道 Ⅲ类管道 1 管道属性数据 中心线数据 √ √ √ 2 管道属性数据 基础数据 √ √ √ 3 管道环境及 人文数据 地理信息数据 √ √ 区域采集 4 管道环境及 人文数据 侵占数据 √ √ 区域采集\n",
      "---------------\n",
      "5 管道建造数据 阴极保护数据 √ √ 不要求 6 管道建造数据 附属设施数据 √ √ 不要求\n",
      "---------------\n",
      "竣工验收前，应完成设计阶段的专项评价报告、建设阶段的质量控制相关报告和基础数据的交接，并保存防腐层、埋深检测与整改报告。\n",
      "\n",
      "管道在新改扩竣工验收及修复验收后，应完成数据移交工作。当管道属性或环境数据发生变化时，应及时更新相关数据。\n",
      "\n",
      "项目建设单位应采取措施，加强对征地、施工等环节的管理，确保管道投产时即为“零占压”。\n",
      "\n",
      "管道运行期的完整性管理\n",
      "\n",
      "工作流程和基本要求\n",
      "\n",
      "管道运行期完整性管理工作流程包括数据采集、高后果区识别和风险评价、检测评价、维修维护、效能评价5个环节。通过上述过程的循环，逐步提高完整性管理水平。工作流程示意图详见图5-1。\n",
      "\n",
      "数据采集高后果区识别和风险评价检测评价维修维护效能评价\n",
      "\n",
      "图5-1完整性管理工作流程示意图\n",
      "\n",
      "（一）数据采集：结合管道竣工资料和历史数据恢复，开展数据采集、整理和分析工作。\n",
      "\n",
      "（二）高后果区识别和风险评价：综合考虑周边安全、环境及生产影响等因素，进行高后果区识别，开展风险评价，明确管理重点。\n",
      "\n",
      "（三）检测评价：通过实施管道检测或数据分析，评价管道状态，提出风险减缓方案。\n",
      "\n",
      "（四）维修维护：依据风险减缓方案，采取有针对性的维修与维护措施。\n",
      "---------------\n",
      "（五）效能评价：通过效能评价，考察完整性管理工作的有效性。\n",
      "\n",
      "管道运行期要在数据采集的基础上，做好高后果区识别和风险评价，确定高风险级管道，并明确导致风险的主控因素；根据风险值选择检测范围，根据主控风险因素选择检测技术；进而根据检测评价结果采取相应的维修维护措施。非高风险级管道也应加强日常管理，以降低管道失效率、延长使用寿命。\n",
      "\n",
      "应在强化日常维护管理的基础上，根据管道分类，采取差异性的数据采集、风险管理、检测评价和维修策略，达到提升本质安全和节约资金投入的最佳平衡。\n",
      "\n",
      "完整性管理方案编制应充分考虑管理对象的特点，形成“一区一案”或“一线一案”等形式的完整性管理方案。方案应涵盖风险管理、检测评价和维修维护等内容，对完整性管理活动做出针对性安排，并应根据工作实施情况动态更新。\n",
      "\n",
      "管道日常维护管理\n",
      "\n",
      "日常维护是完整性管理的重要内容，也是减缓风险的主要手段之一。应围绕影响管道完整性的相关要素管控要求，重点做好管道腐蚀控制、管道巡护、第三方管理、地质灾害预防等工作。\n",
      "---------------\n",
      "应根据地面生产工艺流程和输送介质特点，分析确定管道内腐蚀机理，设定腐蚀控制目标，制订内腐蚀控制方案及腐蚀监测方案，通过定期开展监测数据的分析评价，结合生产运行工况、介质性质变化等情况，适时调整腐蚀控制参数，优化防腐方案和措施。\n",
      "\n",
      "应充分考虑输送介质和输送工艺的影响,开展腐蚀影响因素分析和腐蚀规律预测分析，采取有针对性的腐蚀减缓措施，如：改变工艺参数、添加缓蚀剂、清管、采用耐腐蚀管材、增加管道内衬和内涂层等,做好内腐蚀控制。\n",
      "\n",
      "建立管道外腐蚀监测制度，及时掌控管道防腐层状况、管体腐蚀状况、环境腐蚀性、管道覆土层厚度、附属设施状况等信息。\n",
      "\n",
      "应建立阴极保护系统检测评价制度，定期开展阴极保护系统运行参数监测，评价阴极保护系统有效性，及时调整优化，将运行参数控制在规定范围内。定期检查与维护阴极保护系统相关设施，确保系统有效运行。管道阴极保护率应达到100%，阴极保护系统运行率达到98%以上。\n",
      "---------------\n",
      "油气田公司应建立并完善管道巡护制度，对高后果区和高风险段加密巡线周期。高后果区和高风险段管道每日巡检次数宜不低于一次；宜采用GPS等手段，靠近管道中心线进行巡检，以保证巡线质量；难以实施人工巡线和长距离管道可采用无人机巡线。\n",
      "\n",
      "建立和完善第三方作业信息管理机制和管道保护沟通机制，及时获取、掌握、上报管道周边交叉工程动态信息，提出相关管道保护要求，具体要求如下：\n",
      "\n",
      "（一）建立针对第三方施工项目的管理台帐，收集整理相应第三方施工保护技术档案。\n",
      "\n",
      "（二）防止任何单位或个人在未经审批、未采取相应保护措施前，擅自在管道安全保护范围内施工作业。\n",
      "\n",
      "（三）第三方施工前，管道管理单位应指派专门人员到现场进行管道保护安全指导，加强第三方施工过程监护。\n",
      "\n",
      "（四）发生管道打孔盗油（气）、第三方占压事件时，应按相关规定及时报告动态和处置信息，积极组织或协助有关部门做好事件处置。\n",
      "\n",
      "（五）对穿越农田区域的管道，可根据实际情况，采用有效的防管道农耕损坏措施。\n",
      "\n",
      "应定期开展管道沿途的地质灾害识别工作。必要时开展专项风险评价，并依据评价结果及时采取相应措施，预防和处置地质灾害的破坏，确保管线平稳安全运行。\n",
      "---------------\n",
      "I类管道完整性管理策略\n",
      "\n",
      "对Ⅰ类管道开展高后果区识别和风险评价后，依据风险评价结果确定检测范围，并实施有针对性的检测评价，根据评价结果及时采取维修维护措施，使风险处于可控状态。\n",
      "\n",
      "Ⅰ类管道运行期数据采集工作应由厂（处）完成，具体包括对所管辖管道数据的收集、整合、存储与上报。Ⅰ类管道运行期数据的采集和管理参照Q/SY 1180.6《管道完整性管理规范 第6部分：数据采集》等执行。\n",
      "\n",
      "数据采集应贯彻“简约、实用”的原则，宜只采集后续流程必需的数据，减少冗余，并应确保数据真实、准确、完整。运行期主要收集的数据包括：运行数据、输送介质数据、风险数据、失效管理数据、历史记录数据和检测数据等。例如：输送介质、操作压力、操作温度、防腐层状况、管道检测报告、内外壁腐蚀监控、阴极保护数据，维护、维修、检测数据，失效事故、第三方破坏等信息。Ⅰ类管道数据采集最低标准应达到表5-1要求。\n",
      "\n",
      "表5-1  数据采集最低标准\n",
      "---------------\n",
      "编号 数据类型 数据项 I类管道 1 管道运行期数据 管道运行数据 √ 2 失效管理数据 √ 3 历史纪录数据 √ 4 输送介质数据 √ 5 检测数据 √ 6 管道风险数据 √\n",
      "---------------\n",
      "Ⅰ类管道高后果区识别工作应由厂（处）完成。Ⅰ类管道高后果区识别方法按照《中国石油天然气股份有限公司气田集输管道检测评价及修复技术导则》第四章和《中国石油天然气股份有限公司油田集输管道检测评价及修复技术导则》第四章执行。\n",
      "\n",
      "Ⅰ类管道高后果区识别工作应每年开展1次，并形成《高后果区识别报告》。如发生管道改线、周边环境重大变化时，应及时开展识别并更新识别结果。\n",
      "\n",
      "Ⅰ类管道风险评价工作应由厂（处）组织完成。Ⅰ类管道风险评价推荐采用半定量风险评价方法，参照《中国石油天然气股份有限公司气田集输管道检测评价及修复技术导则》第五章和《中国石油天然气股份有限公司油田集输管道检测评价及修复技术导则》第五章执行；油气田公司应根据本单位实际状况和管道特点，合理设置不同危害类型的权重、风险项设置和评价分值，形成适用于本单位的半定量风险评价法。\n",
      "\n",
      "Ⅰ类管道在开展半定量风险评价的基础上，必要时可对高风险级、高后果区管道开展定量风险评价或地质灾害、第三方破坏等专项风险评价。\n",
      "\n",
      "Ⅰ类管道风险评价工作应每年开展1次，形成《风险评价报告》。如发生管道改线、周边环境重大变化时，应及时开展风险评价并更新记录。\n",
      "---------------\n",
      "Ⅰ类管道检测评价工作宜由厂（处）组织完成。Ⅰ类管道满足智能内检测条件时优先推荐智能内检测，不满足时也可采用直接评价或压力试验。液体管道智能内检测可采取漏磁内检测技术或超声内检测技术，气体管道可采取漏磁内检测技术。Ⅰ类管道根据需要可开展河流穿越管段敷设状况检测、公路铁路穿越检测和跨越检测等，具体技术选取详见《中国石油天然气股份有限公司气田集输管道检测评价及修复技术导则》第六章和《中国石油天然气股份有限公司油田集输管道检测评价及修复技术导则》第六章。\n",
      "\n",
      "Ⅰ类管道修复工作应由厂（处）组织完成。应结合检测评价报告和相应的数据信息，制定有针对性的、合理的维修方案。维修建议包括监控、降压使用、计划维修、立即维修等。\n",
      "\n",
      "管道进行维修时，优先采用对生产影响较小且安全环保的技术。对于采用智能内检测的管道，不应采用影响内检测器通过性的维修方法。管体缺陷修复相关技术要求按照《中国石油天然气股份有限公司气田集输管道检测评价及修复技术导则》第七章和《中国石油天然气股份有限公司油田集输管道检测评价及修复技术导则》第七章执行，参见表5-2和表5-3。\n",
      "\n",
      "表5-2  管道防腐层缺陷类型推荐修复方法\n",
      "---------------\n",
      "原防腐层类型 局部修复 局部修复 局部修复 大修 原防腐层类型 缺陷直径≤30mm 缺陷直径>30mm 补口修复 大修 石油沥青、煤焦油磁漆 石油沥青、煤焦油磁漆、冷缠胶带a、粘弹体+外防护带b 冷缠胶带、粘弹体+外防护带 粘弹体+外防护带、冷缠胶带 无溶剂液态环氧/聚氨酯、无溶剂液态环氧玻璃、冷缠胶带 熔结环氧、液体环氧 无溶剂液态环氧 无溶剂液态环氧 无溶剂液态环氧/聚氨酯 无溶剂液态环氧/聚氨酯、无溶剂液态环氧玻璃、冷缠胶带\n",
      "---------------\n",
      "三层聚乙烯/聚丙烯 热熔胶+补伤片、压敏胶+补伤片、粘弹体+外防护带 粘弹体+外防护带、压敏胶热收缩带、冷缠胶带 粘弹体+外防护带、无溶剂液态环氧+外防护带、 无溶剂液态环氧/聚氨酯、无溶剂液态环氧玻璃、冷缠胶带 a、原油管道宜采用聚丙烯冷缠带。 b、外防护带包括冷缠胶带、压敏胶热收缩带等。 a、原油管道宜采用聚丙烯冷缠带。 b、外防护带包括冷缠胶带、压敏胶热收缩带等。 a、原油管道宜采用聚丙烯冷缠带。 b、外防护带包括冷缠胶带、压敏胶热收缩带等。 a、原油管道宜采用聚丙烯冷缠带。 b、外防护带包括冷缠胶带、压敏胶热收缩带等。 a、原油管道宜采用聚丙烯冷缠带。 b、外防护带包括冷缠胶带、压敏胶热收缩带等。\n",
      "---------------\n",
      "表5-3  管体常见缺陷类型推荐修复方法\n",
      "---------------\n",
      "缺陷分类 缺陷分类 缺陷尺寸 修复方法 腐蚀 外腐蚀 泄漏 机械夹具（临时修复）、B型套筒、环氧钢套筒或换管 腐蚀 外腐蚀 缺陷深度≥80%壁厚 B型套筒、环氧钢套筒或换管 腐蚀 外腐蚀 超过允许尺寸的 玻璃纤维复合材料补强、A型套筒、B型套筒、环氧钢套筒或换管 腐蚀 外腐蚀 未超过允许尺寸的 粘弹体修复防腐层 腐蚀 内腐蚀 缺陷深度≥80%壁厚 B型套筒或换管\n",
      "---------------\n",
      "腐蚀 内腐蚀 超过允许尺寸的 B型套筒或换管 腐蚀 内腐蚀 当前或计划修复时间内未超过允许尺寸的 暂不修复 制造缺陷 内外制造缺陷 缺陷深度≥80%壁厚 B型套筒、环氧钢套筒或换管 制造缺陷 内外制造缺陷 超过允许尺寸的 玻璃纤维复合材料补强、A型套筒、B型套筒、环氧钢套筒或换管 制造缺陷 内外制造缺陷 未超过允许尺寸的 暂不修复 凹陷 普通凹陷、腐蚀相关凹陷（移除压迫体后的尺寸） 深度≥6%外径 B型套筒（临时）或者换管\n",
      "---------------\n",
      "凹陷 普通凹陷、腐蚀相关凹陷（移除压迫体后的尺寸） 2%外径≤深度＜6%外径 进行磁粉探伤，无裂纹则采用A、B型或环氧套筒或者换管修复，有裂纹采用B型套筒或者换管修复 凹陷 普通凹陷、腐蚀相关凹陷（移除压迫体后的尺寸） 深度＜2%外径 巡线监控 凹陷 焊缝相关凹陷（移除压迫体后的尺寸） 深度≥6%外径 B型套筒（临时）或者换管 凹陷 焊缝相关凹陷（移除压迫体后的尺寸） 2%外径≤深度＜6%外径 进行表面磁粉探伤，焊缝进行射线或者超声，无裂纹则采用A、B型或环氧套筒或者换管修复，有裂纹采用B型套筒或者换管修复\n",
      "---------------\n",
      "凹陷 焊缝相关凹陷（移除压迫体后的尺寸） 深度＜2%外径 进行表面磁粉探伤，焊缝进行射线或者超声，无裂纹则不修复，有裂纹采用B型套筒或者换管修复 焊缝缺陷 开挖检测，采用射线和超声探伤得到焊接缺陷的长度、深度，进行缺陷强度评价 不安全（有裂纹） 换管 焊缝缺陷 开挖检测，采用射线和超声探伤得到焊接缺陷的长度、深度，进行缺陷强度评价 安全（有裂纹） 打磨（表面裂纹）、B型套筒和换管 焊缝缺陷 开挖检测，采用射线和超声探伤得到焊接缺陷的长度、深度，进行缺陷强度评价 安全 不修复\n",
      "---------------\n",
      "焊缝缺陷 开挖检测，采用射线和超声探伤得到焊接缺陷尺寸，未进行缺陷强度评价 焊缝超过标准允许级别 打磨（表面裂纹）、B型套筒和换管 焊缝缺陷 开挖检测，采用射线和超声探伤得到焊接缺陷尺寸，未进行缺陷强度评价 焊缝在标准允许级别内 不修复\n",
      "---------------\n",
      "Ⅰ类管道完整性管理策略主要包括高后果区识别和风险评价、检测评价、维修维护3个方面，详见表5-4。\n",
      "\n",
      "表5-4  Ⅰ类管道完整性管理策略\n",
      "---------------\n",
      "高后果区识别和风险评价 高后果区识别和风险评价 高后果区识别和风险评价 高后果区识别和风险评价 高后果区识别每年一次。风险评价推荐半定量风险评价方法，每年一次，必要时可对高后果区、高风险级管道开展定量风险评价或地质灾害、第三方破坏等专项风险评价。 检测评价 智能内检测 智能内检测 智能内检测 具备智能内检测条件时优先采用智能内检测。 检测评价 直接评价 内腐蚀直接评价 内腐蚀直接评价 有内腐蚀风险时开展直接评价。 检测评价 直接评价 外腐蚀直接评价 敷设环境调查 开展管道标识、穿跨越、辅助设施、地区等级、建（构）筑物、地质灾害敏感点等调查。\n",
      "---------------\n",
      "检测评价 直接评价 外腐蚀直接评价 土壤腐蚀性检测 当管道沿线土壤环境变化时，开展土壤电阻率检测。 检测评价 直接评价 外腐蚀直接评价 杂散电流测试 开展杂散电流干扰源调查，测试交直流管地电位及其分布，推荐采用数据记录仪。 检测评价 直接评价 外腐蚀直接评价 防腐层（保温）检测 采用交流电流衰减法和交流电位梯度法（ACAS+ACVG）组合技术开展检测。 检测评价 直接评价 外腐蚀直接评价 阴极保护有效性检测 对采用强制电流保护的管道，开展通断电位测试，并对高后果区、高风险级管段推荐开展CIPS检测；对牺牲阳极保护的高后果区、高风险级管段，推荐开展极化探头法或试片法检测。\n",
      "---------------\n",
      "检测评价 直接评价 外腐蚀直接评价 开挖直接检测 优先选择高后果区、高风险段开展开挖直接检测，推荐采取超声波测厚等方法检测管道壁厚，必要时可采用C扫描、超声导波等方法测试；推荐采取防腐层粘结力测试方法检测管道防腐层性能。 检测评价 压力试验 压力试验 压力试验 无法开展智能内检测和直接评价的管道选择压力试验。 检测评价 专项检测 专项检测 专项检测 必要时可开展河流穿越管段敷设状况检测、公路铁路穿越检测和跨越检测等。 维修维护 维修维护 维修维护 维修维护 开展管体和防腐层修复，应在检测评价后1年内完成。开展管道巡护、腐蚀控制、第三方管理和地质灾害预防等维护工作。\n",
      "---------------\n",
      "Ⅱ类管道完整性管理策略\n",
      "\n",
      "Ⅱ类管道在数据采集的基础上，开展高后果区识别和风险评价，重点对其高后果区、高风险段，实施有针对性的检测评价，并根据评价结果及时采取维修维护措施，使风险处于可控状态。\n",
      "\n",
      "Ⅱ类管道风险评价技术方法推荐采用半定量风险评价方法；检测评价技术方法推荐采用直接评价或压力试验方法。\n",
      "\n",
      "其他环节采取的技术方法及各环节的组织单位、工作频率等要求同I类管道。\n",
      "\n",
      "Ⅱ类管道完整性管理策略主要包括高后果区识别和风险评价、检测评价、维修维护3个方面，详见表5-5。\n",
      "\n",
      "表5-5  Ⅱ类管道完整性管理策略\n",
      "---------------\n",
      "高后果区识别和风险评价 高后果区识别和风险评价 高后果区识别和风险评价 高后果区识别和风险评价 高后果区识别每年一次。风险评价推荐半定量风险评价方法，每年一次。 检测评价 直接评价 内腐蚀直接评价 内腐蚀直接评价 具备内腐蚀直接评价条件时优先推荐内腐蚀直接评价。 检测评价 直接评价 外腐蚀直接评价 敷设环境调查 开展管道标识、穿跨越、辅助设施、地区等级、建（构）筑物、地质灾害敏感点等调查。 检测评价 直接评价 外腐蚀直接评价 土壤腐蚀性检测 当管道沿线土壤环境变化时，开展土壤电阻率检测。\n",
      "---------------\n",
      "检测评价 直接评价 外腐蚀直接评价 杂散电流测试 开展杂散电流干扰源调查，测试交直流管地电位及其分布，推荐采用数据记录仪。 检测评价 直接评价 外腐蚀直接评价 防腐层检测 采用交流电流衰减法和交流电位梯度法（ACAS+ACVG）组合技术开展检测。 检测评价 直接评价 外腐蚀直接评价 阴极保护有效性检测 对采用强制电流保护的管道，开展通断电位测试，必要时对高后果区、高风险级管段可开展CIPS检测；对牺牲阳极保护的高后果区、高风险级管段，测试开路电位、通电电位和输出电流，必要时可开展极化探头法或试片法检测。\n",
      "---------------\n",
      "检测评价 直接评价 外腐蚀直接评价 开挖直接检测 优先选择高后果区、高风险段开展开挖直接检测，推荐采取超声波测厚等方法检测管道壁厚，必要时可采用C扫描、超声导波等方法测试；推荐采取防腐层粘结力测试方法检测管道防腐层性能。 检测评价 压力试验 压力试验 压力试验 无法开展内腐蚀直接评价时开展压力试验。 维修维护 维修维护 维修维护 维修维护 开展管体和防腐层修复，应在检测评价后1年内完成。开展管道巡护、腐蚀控制、第三方管理和地质灾害预防等维护工作。\n",
      "---------------\n",
      "Ⅲ类管道完整性管理策略\n",
      "\n",
      "对于Ⅲ类管道完整性管理，以加强日常维护管理为主要手段，重点抓好区域腐蚀控制。同时，推荐采用区域高后果区识别和风险评价方法，确定高后果区和高风险级管道，根据其主导风险因素，有针对性地采取腐蚀检测和修复措施，使风险处于可控状态。\n",
      "\n",
      "Ⅲ类管道数据采集工作应由厂（处）完成，具体包括对所管辖管道数据的收集、整理、存储与上报。Ⅲ类管道运行期应简化采集数据，一般收集运行数据、失效管理数据、历史纪录数据和输送介质数据等。Ⅲ类管道数据采集最低标准应达到表5-6要求。\n",
      "\n",
      "表5-6  数据采集最低标准\n",
      "---------------\n",
      "编号 数据类型 数据项 Ⅲ类管道 1 管道运行数据 管道运行数据 √ 2 失效管理数据 √ 3 历史纪录数据 √ 4 输送介质数据 √ 5 检测数据 区域采集 6 管道风险数据 区域采集\n",
      "---------------\n",
      "对Ⅲ类管道优先采用区域法开展高后果区识别，重点对位于区域管网边界处、可能造成人员安全和环保事故的管道进行识别。高后果区管道参照Ⅱ类管道开展完整性管理工作。具体技术详见《中国石油天然气股份有限公司气田集输管道检测评价及修复技术导则》第四章和《中国石油天然气股份有限公司油田集输管道检测评价及修复技术导则》第四章。\n",
      "\n",
      "高后果区识别工作应由厂（处）完成，并形成《高后果区识别报告》。高后果区识别工作应每年开展1次。如发生管道改线、周边环境重大变化时，应及时重新开展识别。\n",
      "\n",
      "Ⅲ类管道风险评价工作应由厂（处）完成，并形成《风险评价报告》。Ⅲ类管道宜开展区域性风险评价，突出失效统计分析、腐蚀分析、区域风险类比分析等内容，要求如下：\n",
      "\n",
      "（一）科学开展失效数据对比分析工作，明确失效的主导风险因素。\n",
      "\n",
      "（二）识别管道主要腐蚀特征，确定管道主要腐蚀类型，分析管道腐蚀成因，明确腐蚀主控因素。\n",
      "\n",
      "（三）充分利用Ⅲ类管道在管道材质、介质类型、外部环境、运行条件和腐蚀规律方面存在的相似性，根据失效统计及腐蚀分析，总结规律，确定高风险级管道。\n",
      "---------------\n",
      "（四）近一年内发生过腐蚀失效或历史上发生过两次及以上腐蚀失效的管道直接判别为高风险级管道。\n",
      "\n",
      "对于以外腐蚀为主导风险因素的管道，检测及维修维护要求如下：\n",
      "\n",
      "（一）采用ACAS+ACVG方法，开展管道外防腐层检测；管道开挖后，采取超声波测厚检测管道壁厚；修复管道本体和防腐层缺陷。\n",
      "\n",
      "（二）对于有阴极保护的管道，开展阴极保护有效性测试。\n",
      "\n",
      "对于以内腐蚀为主导风险因素的管道，检测及维修维护要求如下：\n",
      "\n",
      "（一）采用失效数据分析法或参照内腐蚀直接评价（ICDA）方法，预测腐蚀敏感点，进行开挖检测。\n",
      "\n",
      "（二）管道开挖后，采取超声波测厚、超声波C扫描、超声导波等检测管道壁厚；修复管道缺陷。\n",
      "\n",
      "对于以第三方破坏为主导风险因素的管道，应加强管理，重点做好巡线、第三方信息上报、地企双方信息沟通等工作。\n",
      "\n",
      "对于以地质灾害为主导风险因素的管道，应加强地质灾害识别及监测工作。详见本章第二节要求。\n",
      "\n",
      "Ⅲ类管道还应加强制造与施工缺陷、误操作等失效类型的识别工作，并采取相应措施。\n",
      "\n",
      "Ⅲ类管道维修技术方法与工作要求同I、Ⅱ类管道。\n",
      "---------------\n",
      "Ⅲ类管道完整性管理策略主要包括高后果区识别和风险评价、检测评价、维修维护3个方面，详见表5-7。\n",
      "\n",
      "表5-7  Ⅲ类管道完整性管理策略\n",
      "---------------\n",
      "高后果区识别和风险评价 高后果区识别和风险评价 高后果区识别和风险评价 高后果区识别和风险评价 推荐采用区域高后果区识别，每年一次。 推荐采用失效分析、腐蚀分析、类比分析等定性方法确定高风险级管道；近一年内发生过腐蚀失效或历史上发生过两次及以上腐蚀失效的管道直接判别为高风险级管道；风险评价每年开展一次。 检测评价 腐蚀检测 内腐蚀检测 内腐蚀检测 对管道沿线的腐蚀敏感点进行开挖抽查。 检测评价 腐蚀检测 外腐蚀检测 土壤腐蚀性检测 测试管网所在区域土壤电阻率。 检测评价 腐蚀检测 外腐蚀检测 防腐层检测 对于高风险级管道，采用ACAS+ACVG组合技术开展检测。\n",
      "---------------\n",
      "检测评价 腐蚀检测 外腐蚀检测 阴极保护 参数测试 对采用强制电流保护的管道，开展通/断电位测试；对牺牲阳极保护的高后果区、高风险级管段，测试开路电位、通电电位和输出电流。 检测评价 腐蚀检测 外腐蚀检测 开挖直接检测 优先选择高后果区、高风险段开展开挖直接检测，推荐采取超声波测厚等方法检测管道壁厚；推荐采取防腐层粘结力测试方法检测管道防腐层性能。 检测评价 压力试验 压力试验 压力试验 无法开展内、外腐蚀检测的管道可进行压力试验。\n",
      "---------------\n",
      "维修维护 维修维护 维修维护 维修维护 开展管体和防腐层修复，应在检测评价后1年内完成。开展管道巡护、腐蚀控制、第三方管理和地质灾害预防等维护工作。\n",
      "---------------\n",
      "管道停用期的完整性管理\n",
      "\n",
      "管道停用时应采取合理的保护措施，并与运行的生产系统实现有效物理隔离。\n",
      "\n",
      "停用管道应根据再启用可能性实施分类管理。\n",
      "\n",
      "（一）需要再启用的管道按运行阶段完整性管理要求执行。\n",
      "\n",
      "（二）不再启用的管道，应按照报废程序进行处置。\n",
      "\n",
      "停用1年以上的管道需要重新启用时，需开展相关评估和压力试验。\n",
      "\n",
      "站场完整性管理\n",
      "\n",
      "为适应站场完整性管理，分别将油田站场和气田站场分为三类。油气田公司可结合自身实际，适当调整站场的类别。\n",
      "\n",
      "（一）油田站场：集中处理站、伴生气处理站、矿场油库为一类站场；脱水站、原稳站、转油站、放水站、配制站、注入站、污水处理站等为二类站场；计量站、阀组间、配水间等为三类站场。\n",
      "\n",
      "（二）气田站场：处理厂、净化厂、天然气凝液回收厂、储气库集注站为一类站场；增压站、气田水处理回注站等为二类站场；集气站、脱水站、采气井站为三类站场。\n",
      "\n",
      "针对站场设备承担功能的不同，将站场设备分为静设备（压力容器和站内管道等）、动设备（机泵、压缩机和阀门等）、安全仪表系统（站控系统、井安系统、紧急关断系统等）。\n",
      "---------------\n",
      "对不同类型站场中的设备，宜开展不同类型的风险评价。一类站场宜对站场内的静设备、动设备、安全仪表系统分别开展RBI、RCM、SIL等半定量风险评价，二类站场宜对站场内的静设备和动设备开展RBI和RCM半定量风险评价，三类站场可对站场内的静设备开展RBI定性风险评价。风险评价工作宜由厂（处）组织完成。\n",
      "\n",
      "站场设备检测评价、维修维护工作宜由厂（处）组织完成，要求如下：\n",
      "\n",
      "（一）压力容器应按照特种设备安全技术规范的要求开展定期检验。可将RBI评价结果与检验机构充分沟通，提高压力容器定期检验的针对性。\n",
      "\n",
      "（二）站场内的管道应按RBI评价结果开展检测评价。\n",
      "\n",
      "（三）对于开展了RCM、SIL评价的动设备和安全仪表系统，宜结合RCM、SIL给出的检维修策略，优化维护保养周期和方法；未开展RCM、SIL评价的动设备和安全仪表系统，按照既有相关规定要求，开展维修保养工作。\n",
      "\n",
      "应建立站场设备数据台账，台账的数据应包括设备基础信息、日常运行、检测评价和维修维护等。数据台账管理工作宜由厂（处）组织完成。\n",
      "\n",
      "运行机制与保障\n",
      "---------------\n",
      "运行机制和保障措施主要包括：制度流程建设、操作实施管理、资金保障、技术保障、人员培训、信息系统平台建设等。\n",
      "\n",
      "油气田公司应在自身现有制度流程的基础上，根据完整性管理工作的要求和特点，理顺、调整和完善现有制度流程，使完整性管理工作有机纳入油气田公司制度流程体系。油气田公司应编制管理实施细则、程序文件和作业文件，逐步构建文件体系。\n",
      "\n",
      "项目操作实施管理主要包括项目立项与审批、质量管控、作业风险控制等。\n",
      "\n",
      "（一）完整性管理项目应先论证后立项。项目立项论证应基于总体规划和年度工作方案，充分体现项目立项的科学性和必要性；项目立项论证由油气田公司组织开展，并应科学开展前期工作。\n",
      "\n",
      "（二）项目实施可参照股份公司建设项目管理相关规定执行。油气田公司应建立各项工作及成果的质量分级把关机制，确保工作质量满足相关设计方案和规范标准的要求。\n",
      "\n",
      "（三）涉及风险作业的项目应按相关要求编制风险作业方案与应急预案，并按风险作业相关规定经审批后实施。\n",
      "\n",
      "各级单位应为完整性管理工作提供资金保障。\n",
      "---------------\n",
      "（一）管道和站场的日常维护及风险管理由厂（处）级单位生产成本解决，其中包括数据采集、高后果区识别和风险评价、日常维护和效能评价等工作内容。\n",
      "\n",
      "（二）以项目方式实施的检测、评价和修复等工作，按照管道和站场类型的差异，资金来源不同。其中，Ⅰ类管道和站场完整性管理项目可在油气田公司生产成本中解决或纳入老油气田改造费用；Ⅱ类、Ⅲ类管道和站场完整性管理项目由油气田公司生产成本解决。\n",
      "---------------\n",
      "（三）对评估存在重大风险或安全隐患管道和站场的整改可纳入安全隐患治理、洪灾水毁、老油气田改造等渠道中解决，并按照股份公司相关管理制度执行。\n",
      "\n",
      "完整性管理应采用先进成熟的技术并逐步形成和完善技术体系。同时针对技术需求和难点，积极探索和开展科研攻关。\n",
      "\n",
      "（一）股份公司应组织开展技术体系构建和技术攻关规划工作，引导技术发展方向。\n",
      "\n",
      "（二）油气田公司应结合自身特点和管理需求，跟踪、筛选、评价适合本油气田公司的各类管道和站场完整性技术；做好新技术的论证、试用、评价和推广应用等工作。\n",
      "\n",
      "（三）油气田公司应积极开展技术总结，固化成果，为制定和完善完整性管理技术标准提供基础支撑。\n",
      "\n",
      "为促进管道和站场完整性管理工作开展，保证工作质量，股份公司和油气田公司应组织开展培训工作。\n",
      "\n",
      "（一）完整性管理工作从业人员应参加培训并通过考试。长期服务承包商从业人员也应参加完整性管理培训。\n",
      "\n",
      "（二）培训讲师队伍应由油气田公司完整性管理专家和国内外特邀专家组成，形成权威性的授课队伍。\n",
      "\n",
      "完整性管理培训分基础培训和高级培训。完整性管理基础培训主要针对基层从业人员。培训要求如下：\n",
      "---------------\n",
      "（一）掌握完整性管理基本知识，含发展历程、核心理念和主要做法等。\n",
      "\n",
      "（二）掌握完整性管理相关法规和标准规范。\n",
      "\n",
      "（三）掌握完整性管理主要数据类型和采集方法。\n",
      "\n",
      "（四）掌握完整性管理分类分级方法，能独立进行高后果区识别和风险评价。\n",
      "\n",
      "（五）掌握检测、评价、修复、效能评价基本知识。\n",
      "\n",
      "（六）能在操作权限内独立使用完整性管理系统平台。\n",
      "\n",
      "完整性管理高级培训主要面向完整性管理相关高级管理人员、技术研发人员和标准规定主要制定人。培训要求如下：\n",
      "\n",
      "（一）掌握完整性管理前沿技术和发展趋势。\n",
      "\n",
      "（二）掌握完整性管理工作流程全过程主要工作。\n",
      "\n",
      "（三）能对专业服务公司提出技术要求并验收。\n",
      "---------------\n",
      "（四）能作为讲师开展完整性管理基础培训。\n",
      "\n",
      "为提升完整性管理工作水平，提高工作效率，应建立股份公司统一的、与统建系统（A4、A5、A11等）相兼容的油气田管道和站场完整性管理信息系统。具体要求如下：\n",
      "\n",
      "（一）信息系统可以由多个模块组成，但至少应编制形成数据采集、分析评价、管理三个模块的基本功能框架。\n",
      "\n",
      "（二）信息系统应针对股份公司、油气田公司、厂（处）等不同单位、不同层级的用户分别设置权限，以满足各级用户能够在各自管辖范围内有效开展完整性管理工作。\n",
      "\n",
      "（三）信息系统应具备从A4、A5、A11等统建信息系统采集数据的功能；信息系统应设置友好的数据接口，与GIS、ERP、SCADA以及风险及检测评价软件等兼容；信息系统应能够适应分步开发的需要，技术成熟的模块可优先开发。\n",
      "\n",
      "完整性管理工作报告\n",
      "\n",
      "完整性管理工作报告分为三级，分别是股份公司级、油气田公司级和厂（处）级。\n",
      "---------------\n",
      "股份公司每年对油气田管道和站场完整性管理工作进行总结，形成完整性管理年度工作报告。完整性管理工作报告主要内容包括：完整性管理整体进展、年度工作方案落实、取得的成果和存在的问题、信息系统建设与运维、监督检查、人员培训和技术体系建设等情况，明确业务发展方向，对下一年工作提出要求。\n",
      "\n",
      "油气田公司和厂(处)应每年对完整性管理工作进行总结，并编制上报完整性管理年度总结报告。完整性管理年度总结报告主要内容包括：实施情况及取得的成果、存在问题和改进措施、体系文件编制、信息系统建设与运维、组织机构建设、下一年工作计划制定等情况。完整性管理年度总结报告编制格式见附录2。\n",
      "\n",
      "监督检查与考核评比\n",
      "\n",
      "为掌握油气田公司完整性管理的真实水平，发现薄弱环节，应定期开展效能评价。效能评价应设定评价指标，对比历年各项指标变化情况，评价完整性管理工作效果。效能评价重点突出管道失效率变化情况和管道更新改造维护费用变化情况。\n",
      "---------------\n",
      "股份公司定期对油气田公司完整性管理工作进行监督检查。油气田公司应每年对厂（处）完整性管理工作进行监督、检查与考核。监督、检查与考核内容包括组织机构建设、工作计划、工作目标、项目管理、风险管理、数据管理、变更管理、效能评价、培训管理、失效管理等。\n",
      "\n",
      "完整性管理工作宜定期组织开展评比活动，评选完整性管理先进单位和先进个人。\n",
      "\n",
      "附  则\n",
      "\n",
      "油气田公司应依据本《规定》制定油气田管道和站场完整性管理细则。\n",
      "\n",
      "本《规定》自发布之日起实施，由勘探与生产分公司负责解释。\n",
      "\n",
      "附录1 术  语\n",
      "\n",
      "1.1 合理可行原则（最低合理可行） as low as reasonably practically\n",
      "\n",
      "是风险可接受水平采用的一种项目风险判据原则。该原则依据风险的严重程度将项目可能出现的风险进行分级。项目风险由不可容忍线和可忽略线将其分为风险严重区、最低合理可行（ALARP）区和可忽略区。风险严重区和最低合理可行（ALARP）区是项目风险辨识的重点所在，项目风险辨识必须尽可能地找出该区所有的风险。\n",
      "\n",
      "1.2 高后果区 high consequence areas\n",
      "---------------\n",
      "指如果管道发生泄漏会危及公众安全，或对财产、环境造成较大破坏的区域。\n",
      "\n",
      "1.3 高风险级管道 high risk lines\n",
      "\n",
      "风险评价结果为高风险级的管道。\n",
      "\n",
      "1.4 风险评价 risk assessment\n",
      "\n",
      "指识别对设施安全运行有不利影响的危害因素，评价事故发生的可能性和后果大小，综合得到管道风险大小，并提出相应风险控制措施的分析过程。\n",
      "\n",
      "1.5 效能评价 performance assessment\n",
      "\n",
      "综合评价完整性管理工作所获得的管理效果、效率及效益。其评价结果是衡量从事完整性管理工作过程与结果的尺度。\n",
      "\n",
      "1.6 管道更新改造维护费用 expense for pipeline replacement repair and maintenance\n",
      "\n",
      "为保证管道本质安全，实现失效率控制目标，应在管道更新、局部改造、检测修复和日常维护等完整性管理领域投入的费用。\n",
      "\n",
      "1.7 基线评价 baseline assessment\n",
      "\n",
      "为获取完整性管理相关信息实施的第一次检测评价，内容包括管道规格、沿线地区等级、管道设施、外防腐系统性能等信息。I、Ⅱ、Ⅲ类管道可采取不同的基线评价方法。\n",
      "---------------\n",
      "1.8 检测评价 inspection assessment\n",
      "\n",
      "通过智能内检测、直接评价、压力试验或其他已证实的可以确定管道状态的等同技术来确定管道当前状况的过程。\n",
      "\n",
      "1.9 一线一案  integrity management plan for one pipeline\n",
      "\n",
      "对单条管道按照相关管理和技术要求编制的完整性管理方案，一条管道编写一个方案。\n",
      "\n",
      "1.10 一区一案  integrity management plan for one area\n",
      "\n",
      "对整个采油气区域的管道按照相关管理和技术要求编制的完整性管理方案，整个区域编写一个方案。\n",
      "\n",
      "1.11 管道失效率 pipeline failure rate\n",
      "\n",
      "管道失效是指发生的事件，造成在用管道系统的某一部分非正常损坏、功能缺失或性能下降，而导致该部分已完全不能操作，或还能操作，但已不能令人满意地完成指定任务。管道失效率是指每个自然年度内，每千米管道的失效次数。\n",
      "\n",
      "1.12 智能内检测 In-line inspection/intelligent inspection\n",
      "---------------\n",
      "智能内检测方法包括：变形内检测、漏磁内检测、超声内检测和其他智能内检测等。针对管体存在的缺陷类型，确定合适的智能内检测方法。\n",
      "\n",
      "1.13 内腐蚀直接评价（ICDA） internal corrosion direct assessment\n",
      "\n",
      "评价管道内腐蚀对管道完整性影响的方法，由预评价、间接检测和评价、直接检测和评价、再评价四个步骤组成。\n",
      "\n",
      "1.14 外腐蚀直接评价（ECDA） external corrosion direct assessment\n",
      "\n",
      "评价外壁腐蚀对管道完整性影响的方法，由预评价、间接检测和评价、直接检测和评价、再评价四个步骤组成。\n",
      "\n",
      "1.15 完整性管理考核 performance review\n",
      "\n",
      "完整性管理考核是为验证核查完整性管理体系的适宜性、充足性和有效性，发现体系中存在的优势和不足，促进完整性管理体系的持续改进而开展的考核活动。\n",
      "\n",
      "1.16 基于风险的检测（RBI） risk based inspection\n",
      "---------------\n",
      "对油气站场中的静设备，如压力管道、压力容器等进行风险评估及风险管理方面的分析。根据分析的结果提出一个根据风险等级制定的设备检测计划。\n",
      "\n",
      "1.17 以可靠性为中心的维护（RCM） reliability centered maintenance\n",
      "\n",
      "是一种设备设施维护的理念和策略。按照以最少的资源消耗保持设备设施固有可靠性和安全性的原则，通过功能与故障分析，应用逻辑判断的方法确定设备设施预防性维修要求的过程。\n",
      "\n",
      "1.18 安全完整性等级（SIL） Safety integrity level\n",
      "\n",
      "由每小时发生的危险失效概率来区分。国际标准中共规定了四个等级，第四级表示最高的完整性程度，第一级表示最低。对应着每一种安全完整性等级，都规定了可以降低设计错误的设计规范。\n",
      "\n",
      "1.19 输油管道 purified oil transportation lines\n",
      "\n",
      "油气田内，输送净化油的管道。\n",
      "\n",
      "1.20 输气管道 purified gas transportation lines\n",
      "\n",
      "油气田内，输送净化气的管道。\n",
      "\n",
      "附录2 完整性管理年度总结报告编制模板\n",
      "\n",
      "1  本年度工作概述\n",
      "\n",
      "1.1管理现状\n",
      "---------------\n",
      "1.2 工作目标及完成情况\n",
      "\n",
      "1.3 工作方案及实施情况\n",
      "\n",
      "2  单项工作实施情况\n",
      "\n",
      "2.1 高后果区识别\n",
      "\n",
      "2.2 风险评价\n",
      "\n",
      "2.3 检测评价\n",
      "\n",
      "2.4 维修与维护\n",
      "\n",
      "2.5 体系文件编制\n",
      "\n",
      "2.6 数据录取及信息系统建设\n",
      "\n",
      "2.7 组织机构建设\n",
      "\n",
      "3  实施效果\n",
      "\n",
      "3.1 失效率变化情况\n",
      "\n",
      "3.2 更新改造维护费用变化情况\n",
      "\n",
      "4  下一年度完整性管理工作计划\n",
      "\n",
      "4.1 工作目标\n",
      "\n",
      "4.2 工作方案\n",
      "\n",
      "4.3 主要工作内容\n",
      "\n",
      "5  存在问题及建议\n",
      "\n",
      "6  附表\n",
      "\n",
      "附表1  油气田管道完整性管理年度工作量统计表\n",
      "---------------\n",
      "编号 工作内容 数量（条） 长度（km） 备注 1 数据采集 2 高后果区识别及风险评价 2.1 开展高后果区识别的管道数量 2.2 识别出高后果区的管道数量 2.3 开展风险评价的管道数量 2.4 识别出高风险的管道数量 3 检测评价\n",
      "---------------\n",
      "3.1 智能内检测 3.2 直接评价 3.3 其他方法（压力试验等） 3.4 检测评价出的问题 4 管道维修 5 管道更新改造维护费用 万元\n",
      "---------------\n",
      "附表2  油气田站场完整性管理年度工作量统计表\n",
      "---------------\n",
      "编号 工作内容 站场数量（座） 设备数量（台套） 备注 1 数据采集 2 风险和检测评价 2.1 基于风险的检测 RBI 2.2 以可靠性为中心的维护 RCM 2.3 安全完整性等级 SIL 2.4 检测评价出的问题 3 维修维护\n",
      "---------------\n",
      "4 油气站场更新改造维护费用 万元\n",
      "---------------\n",
      "附表3  油气田管道和站场完整性管理年度效果统计表\n",
      "---------------\n",
      "编号 工作内容 失效率 （次/（千米·年）） 数量（次） 备注 1 油气管道失效情况 1.1 油田集输管道 1.2 气田集输管道 1.3 其他类型管道 2 油气站场失效情况 失效率单位为 （次/（座·年）） 2.1 油田站场 失效率单位为 （次/（座·年））\n",
      "---------------\n",
      "2.2 气田站场 失效率单位为 （次/（座·年））\n"
     ]
    }
   ],
   "source": [
    "# 打印所有元素\n",
    "for element in elements:\n",
    "    print(f\"{element.category}\")\n",
    "    print(f\"{element.metadata.languages}\")\n",
    "    print(f\"{element.text}\")\n",
    "    print(\"-----\")\n",
    "\n",
    "\n",
    "# 使用 chunk_by_title 方法按标题分块\n",
    "chunks = chunk_by_title(elements)\n",
    "\n",
    "# 打印分块结果\n",
    "for chunk in chunks:\n",
    "    print(\"---------------\")\n",
    "    print(chunk)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 尝试方法2：用langchain的text_splitter"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\Python312\\Lib\\site-packages\\langchain_openai\\chat_models\\__init__.py:1: LangChainDeprecationWarning: As of langchain-core 0.3.0, LangChain uses pydantic v2 internally. The langchain_core.pydantic_v1 module was a compatibility shim for pydantic v1, and should no longer be used. Please update the code to import from Pydantic directly.\n",
      "\n",
      "For example, replace imports like: `from langchain_core.pydantic_v1 import BaseModel`\n",
      "with: `from pydantic import BaseModel`\n",
      "or the v1 compatibility namespace if you are working in a code base that has not been fully upgraded to pydantic 2 yet. \tfrom pydantic.v1 import BaseModel\n",
      "\n",
      "  from langchain_openai.chat_models.azure import AzureChatOpenAI\n",
      "d:\\Python312\\Lib\\site-packages\\pydantic\\_internal\\_config.py:341: UserWarning: Valid config keys have changed in V2:\n",
      "* 'allow_population_by_field_name' has been renamed to 'populate_by_name'\n",
      "  warnings.warn(message, UserWarning)\n"
     ]
    },
    {
     "ename": "PydanticUserError",
     "evalue": "The `__modify_schema__` method is not supported in Pydantic v2. Use `__get_pydantic_json_schema__` instead in class `SecretStr`.\n\nFor further information visit https://errors.pydantic.dev/2.9/u/custom-json-schema",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mPydanticUserError\u001b[0m                         Traceback (most recent call last)",
      "Cell \u001b[1;32mIn[20], line 2\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mlangchain_experimental\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mtext_splitter\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m SemanticChunker\n\u001b[1;32m----> 2\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mlangchain_openai\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01membeddings\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m OpenAIEmbeddings\n\u001b[0;32m      4\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mlangchain_text_splitter\u001b[39m(file_path):\n\u001b[0;32m      5\u001b[0m     document \u001b[38;5;241m=\u001b[39m Document(file_path)\n",
      "File \u001b[1;32md:\\Python312\\Lib\\site-packages\\langchain_openai\\__init__.py:1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mlangchain_openai\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mchat_models\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[0;32m      2\u001b[0m     AzureChatOpenAI,\n\u001b[0;32m      3\u001b[0m     ChatOpenAI,\n\u001b[0;32m      4\u001b[0m )\n\u001b[0;32m      5\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mlangchain_openai\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01membeddings\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[0;32m      6\u001b[0m     AzureOpenAIEmbeddings,\n\u001b[0;32m      7\u001b[0m     OpenAIEmbeddings,\n\u001b[0;32m      8\u001b[0m )\n\u001b[0;32m      9\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mlangchain_openai\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mllms\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m AzureOpenAI, OpenAI\n",
      "File \u001b[1;32md:\\Python312\\Lib\\site-packages\\langchain_openai\\chat_models\\__init__.py:1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mlangchain_openai\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mchat_models\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mazure\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m AzureChatOpenAI\n\u001b[0;32m      2\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mlangchain_openai\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mchat_models\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mbase\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m ChatOpenAI\n\u001b[0;32m      4\u001b[0m __all__ \u001b[38;5;241m=\u001b[39m [\n\u001b[0;32m      5\u001b[0m     \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mChatOpenAI\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m      6\u001b[0m     \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mAzureChatOpenAI\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m      7\u001b[0m ]\n",
      "File \u001b[1;32md:\\Python312\\Lib\\site-packages\\langchain_openai\\chat_models\\azure.py:13\u001b[0m\n\u001b[0;32m     10\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mlangchain_core\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpydantic_v1\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Field, SecretStr, root_validator\n\u001b[0;32m     11\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mlangchain_core\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutils\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m convert_to_secret_str, get_from_dict_or_env\n\u001b[1;32m---> 13\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mlangchain_openai\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mchat_models\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mbase\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m BaseChatOpenAI\n\u001b[0;32m     15\u001b[0m logger \u001b[38;5;241m=\u001b[39m logging\u001b[38;5;241m.\u001b[39mgetLogger(\u001b[38;5;18m__name__\u001b[39m)\n\u001b[0;32m     18\u001b[0m \u001b[38;5;28;01mclass\u001b[39;00m \u001b[38;5;21;01mAzureChatOpenAI\u001b[39;00m(BaseChatOpenAI):\n",
      "File \u001b[1;32md:\\Python312\\Lib\\site-packages\\langchain_openai\\chat_models\\base.py:294\u001b[0m\n\u001b[0;32m    290\u001b[0m     parsed: Optional[_DictOrPydantic]\n\u001b[0;32m    291\u001b[0m     parsing_error: Optional[\u001b[38;5;167;01mBaseException\u001b[39;00m]\n\u001b[1;32m--> 294\u001b[0m \u001b[38;5;28;43;01mclass\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;21;43;01mBaseChatOpenAI\u001b[39;49;00m\u001b[43m(\u001b[49m\u001b[43mBaseChatModel\u001b[49m\u001b[43m)\u001b[49m\u001b[43m:\u001b[49m\n\u001b[0;32m    295\u001b[0m \u001b[43m    \u001b[49m\u001b[43mclient\u001b[49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mAny\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mField\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdefault\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mexclude\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m)\u001b[49m\u001b[43m  \u001b[49m\u001b[38;5;66;43;03m#: :meta private:\u001b[39;49;00m\n\u001b[0;32m    296\u001b[0m \u001b[43m    \u001b[49m\u001b[43masync_client\u001b[49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mAny\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mField\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdefault\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mexclude\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m)\u001b[49m\u001b[43m  \u001b[49m\u001b[38;5;66;43;03m#: :meta private:\u001b[39;49;00m\n",
      "File \u001b[1;32md:\\Python312\\Lib\\site-packages\\pydantic\\_internal\\_model_construction.py:224\u001b[0m, in \u001b[0;36mModelMetaclass.__new__\u001b[1;34m(mcs, cls_name, bases, namespace, __pydantic_generic_metadata__, __pydantic_reset_parent_namespace__, _create_model_module, **kwargs)\u001b[0m\n\u001b[0;32m    221\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m config_wrapper\u001b[38;5;241m.\u001b[39mfrozen \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124m__hash__\u001b[39m\u001b[38;5;124m'\u001b[39m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m namespace:\n\u001b[0;32m    222\u001b[0m     set_default_hash_func(\u001b[38;5;28mcls\u001b[39m, bases)\n\u001b[1;32m--> 224\u001b[0m \u001b[43mcomplete_model_class\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m    225\u001b[0m \u001b[43m    \u001b[49m\u001b[38;5;28;43mcls\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[0;32m    226\u001b[0m \u001b[43m    \u001b[49m\u001b[43mcls_name\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m    227\u001b[0m \u001b[43m    \u001b[49m\u001b[43mconfig_wrapper\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m    228\u001b[0m \u001b[43m    \u001b[49m\u001b[43mraise_errors\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[0;32m    229\u001b[0m \u001b[43m    \u001b[49m\u001b[43mtypes_namespace\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtypes_namespace\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m    230\u001b[0m \u001b[43m    \u001b[49m\u001b[43mcreate_model_module\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m_create_model_module\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m    231\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m    233\u001b[0m \u001b[38;5;66;03m# If this is placed before the complete_model_class call above,\u001b[39;00m\n\u001b[0;32m    234\u001b[0m \u001b[38;5;66;03m# the generic computed fields return type is set to PydanticUndefined\u001b[39;00m\n\u001b[0;32m    235\u001b[0m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39mmodel_computed_fields \u001b[38;5;241m=\u001b[39m {k: v\u001b[38;5;241m.\u001b[39minfo \u001b[38;5;28;01mfor\u001b[39;00m k, v \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m__pydantic_decorators__\u001b[38;5;241m.\u001b[39mcomputed_fields\u001b[38;5;241m.\u001b[39mitems()}\n",
      "File \u001b[1;32md:\\Python312\\Lib\\site-packages\\pydantic\\_internal\\_model_construction.py:577\u001b[0m, in \u001b[0;36mcomplete_model_class\u001b[1;34m(cls, cls_name, config_wrapper, raise_errors, types_namespace, create_model_module)\u001b[0m\n\u001b[0;32m    574\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mFalse\u001b[39;00m\n\u001b[0;32m    576\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m--> 577\u001b[0m     schema \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mcls\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m__get_pydantic_core_schema__\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mcls\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mhandler\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m    578\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m PydanticUndefinedAnnotation \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[0;32m    579\u001b[0m     \u001b[38;5;28;01mif\u001b[39;00m raise_errors:\n",
      "File \u001b[1;32md:\\Python312\\Lib\\site-packages\\pydantic\\main.py:671\u001b[0m, in \u001b[0;36mBaseModel.__get_pydantic_core_schema__\u001b[1;34m(cls, source, handler)\u001b[0m\n\u001b[0;32m    668\u001b[0m     \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m__pydantic_generic_metadata__[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124morigin\u001b[39m\u001b[38;5;124m'\u001b[39m]:\n\u001b[0;32m    669\u001b[0m         \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m__pydantic_core_schema__\n\u001b[1;32m--> 671\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mhandler\u001b[49m\u001b[43m(\u001b[49m\u001b[43msource\u001b[49m\u001b[43m)\u001b[49m\n",
      "File \u001b[1;32md:\\Python312\\Lib\\site-packages\\pydantic\\_internal\\_schema_generation_shared.py:83\u001b[0m, in \u001b[0;36mCallbackGetCoreSchemaHandler.__call__\u001b[1;34m(self, source_type)\u001b[0m\n\u001b[0;32m     82\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__call__\u001b[39m(\u001b[38;5;28mself\u001b[39m, source_type: Any, \u001b[38;5;241m/\u001b[39m) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m core_schema\u001b[38;5;241m.\u001b[39mCoreSchema:\n\u001b[1;32m---> 83\u001b[0m     schema \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_handler\u001b[49m\u001b[43m(\u001b[49m\u001b[43msource_type\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m     84\u001b[0m     ref \u001b[38;5;241m=\u001b[39m schema\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mref\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[0;32m     85\u001b[0m     \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_ref_mode \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mto-def\u001b[39m\u001b[38;5;124m'\u001b[39m:\n",
      "File \u001b[1;32md:\\Python312\\Lib\\site-packages\\pydantic\\_internal\\_generate_schema.py:655\u001b[0m, in \u001b[0;36mGenerateSchema.generate_schema\u001b[1;34m(self, obj, from_dunder_get_core_schema)\u001b[0m\n\u001b[0;32m    652\u001b[0m         schema \u001b[38;5;241m=\u001b[39m from_property\n\u001b[0;32m    654\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m schema \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m--> 655\u001b[0m     schema \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_generate_schema_inner\u001b[49m\u001b[43m(\u001b[49m\u001b[43mobj\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m    657\u001b[0m metadata_js_function \u001b[38;5;241m=\u001b[39m _extract_get_pydantic_json_schema(obj, schema)\n\u001b[0;32m    658\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m metadata_js_function \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n",
      "File \u001b[1;32md:\\Python312\\Lib\\site-packages\\pydantic\\_internal\\_generate_schema.py:924\u001b[0m, in \u001b[0;36mGenerateSchema._generate_schema_inner\u001b[1;34m(self, obj)\u001b[0m\n\u001b[0;32m    922\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m lenient_issubclass(obj, BaseModel):\n\u001b[0;32m    923\u001b[0m     \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmodel_type_stack\u001b[38;5;241m.\u001b[39mpush(obj):\n\u001b[1;32m--> 924\u001b[0m         \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_model_schema\u001b[49m\u001b[43m(\u001b[49m\u001b[43mobj\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m    926\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(obj, PydanticRecursiveRef):\n\u001b[0;32m    927\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m core_schema\u001b[38;5;241m.\u001b[39mdefinition_reference_schema(schema_ref\u001b[38;5;241m=\u001b[39mobj\u001b[38;5;241m.\u001b[39mtype_ref)\n",
      "File \u001b[1;32md:\\Python312\\Lib\\site-packages\\pydantic\\_internal\\_generate_schema.py:739\u001b[0m, in \u001b[0;36mGenerateSchema._model_schema\u001b[1;34m(self, cls)\u001b[0m\n\u001b[0;32m    727\u001b[0m     model_schema \u001b[38;5;241m=\u001b[39m core_schema\u001b[38;5;241m.\u001b[39mmodel_schema(\n\u001b[0;32m    728\u001b[0m         \u001b[38;5;28mcls\u001b[39m,\n\u001b[0;32m    729\u001b[0m         inner_schema,\n\u001b[1;32m   (...)\u001b[0m\n\u001b[0;32m    735\u001b[0m         metadata\u001b[38;5;241m=\u001b[39mmetadata,\n\u001b[0;32m    736\u001b[0m     )\n\u001b[0;32m    737\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m    738\u001b[0m     fields_schema: core_schema\u001b[38;5;241m.\u001b[39mCoreSchema \u001b[38;5;241m=\u001b[39m core_schema\u001b[38;5;241m.\u001b[39mmodel_fields_schema(\n\u001b[1;32m--> 739\u001b[0m         {k: \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_generate_md_field_schema\u001b[49m\u001b[43m(\u001b[49m\u001b[43mk\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mv\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdecorators\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mfor\u001b[39;00m k, v \u001b[38;5;129;01min\u001b[39;00m fields\u001b[38;5;241m.\u001b[39mitems()},\n\u001b[0;32m    740\u001b[0m         computed_fields\u001b[38;5;241m=\u001b[39m[\n\u001b[0;32m    741\u001b[0m             \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_computed_field_schema(d, decorators\u001b[38;5;241m.\u001b[39mfield_serializers)\n\u001b[0;32m    742\u001b[0m             \u001b[38;5;28;01mfor\u001b[39;00m d \u001b[38;5;129;01min\u001b[39;00m computed_fields\u001b[38;5;241m.\u001b[39mvalues()\n\u001b[0;32m    743\u001b[0m         ],\n\u001b[0;32m    744\u001b[0m         extras_schema\u001b[38;5;241m=\u001b[39mextras_schema,\n\u001b[0;32m    745\u001b[0m         model_name\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m,\n\u001b[0;32m    746\u001b[0m     )\n\u001b[0;32m    747\u001b[0m     inner_schema \u001b[38;5;241m=\u001b[39m apply_validators(fields_schema, decorators\u001b[38;5;241m.\u001b[39mroot_validators\u001b[38;5;241m.\u001b[39mvalues(), \u001b[38;5;28;01mNone\u001b[39;00m)\n\u001b[0;32m    748\u001b[0m     new_inner_schema \u001b[38;5;241m=\u001b[39m define_expected_missing_refs(inner_schema, recursively_defined_type_refs())\n",
      "File \u001b[1;32md:\\Python312\\Lib\\site-packages\\pydantic\\_internal\\_generate_schema.py:1115\u001b[0m, in \u001b[0;36mGenerateSchema._generate_md_field_schema\u001b[1;34m(self, name, field_info, decorators)\u001b[0m\n\u001b[0;32m   1108\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_generate_md_field_schema\u001b[39m(\n\u001b[0;32m   1109\u001b[0m     \u001b[38;5;28mself\u001b[39m,\n\u001b[0;32m   1110\u001b[0m     name: \u001b[38;5;28mstr\u001b[39m,\n\u001b[0;32m   1111\u001b[0m     field_info: FieldInfo,\n\u001b[0;32m   1112\u001b[0m     decorators: DecoratorInfos,\n\u001b[0;32m   1113\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m core_schema\u001b[38;5;241m.\u001b[39mModelField:\n\u001b[0;32m   1114\u001b[0m \u001b[38;5;250m    \u001b[39m\u001b[38;5;124;03m\"\"\"Prepare a ModelField to represent a model field.\"\"\"\u001b[39;00m\n\u001b[1;32m-> 1115\u001b[0m     common_field \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_common_field_schema\u001b[49m\u001b[43m(\u001b[49m\u001b[43mname\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfield_info\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdecorators\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m   1116\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m core_schema\u001b[38;5;241m.\u001b[39mmodel_field(\n\u001b[0;32m   1117\u001b[0m         common_field[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mschema\u001b[39m\u001b[38;5;124m'\u001b[39m],\n\u001b[0;32m   1118\u001b[0m         serialization_exclude\u001b[38;5;241m=\u001b[39mcommon_field[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mserialization_exclude\u001b[39m\u001b[38;5;124m'\u001b[39m],\n\u001b[1;32m   (...)\u001b[0m\n\u001b[0;32m   1122\u001b[0m         metadata\u001b[38;5;241m=\u001b[39mcommon_field[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mmetadata\u001b[39m\u001b[38;5;124m'\u001b[39m],\n\u001b[0;32m   1123\u001b[0m     )\n",
      "File \u001b[1;32md:\\Python312\\Lib\\site-packages\\pydantic\\_internal\\_generate_schema.py:1308\u001b[0m, in \u001b[0;36mGenerateSchema._common_field_schema\u001b[1;34m(self, name, field_info, decorators)\u001b[0m\n\u001b[0;32m   1304\u001b[0m         schema \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_apply_annotations(\n\u001b[0;32m   1305\u001b[0m             source_type, annotations \u001b[38;5;241m+\u001b[39m validators_from_decorators, transform_inner_schema\u001b[38;5;241m=\u001b[39mset_discriminator\n\u001b[0;32m   1306\u001b[0m         )\n\u001b[0;32m   1307\u001b[0m     \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m-> 1308\u001b[0m         schema \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_apply_annotations\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m   1309\u001b[0m \u001b[43m            \u001b[49m\u001b[43msource_type\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m   1310\u001b[0m \u001b[43m            \u001b[49m\u001b[43mannotations\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mvalidators_from_decorators\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m   1311\u001b[0m \u001b[43m        \u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m   1313\u001b[0m \u001b[38;5;66;03m# This V1 compatibility shim should eventually be removed\u001b[39;00m\n\u001b[0;32m   1314\u001b[0m \u001b[38;5;66;03m# push down any `each_item=True` validators\u001b[39;00m\n\u001b[0;32m   1315\u001b[0m \u001b[38;5;66;03m# note that this won't work for any Annotated types that get wrapped by a function validator\u001b[39;00m\n\u001b[0;32m   1316\u001b[0m \u001b[38;5;66;03m# but that's okay because that didn't exist in V1\u001b[39;00m\n\u001b[0;32m   1317\u001b[0m this_field_validators \u001b[38;5;241m=\u001b[39m filter_field_decorator_info_by_field(decorators\u001b[38;5;241m.\u001b[39mvalidators\u001b[38;5;241m.\u001b[39mvalues(), name)\n",
      "File \u001b[1;32md:\\Python312\\Lib\\site-packages\\pydantic\\_internal\\_generate_schema.py:2107\u001b[0m, in \u001b[0;36mGenerateSchema._apply_annotations\u001b[1;34m(self, source_type, annotations, transform_inner_schema)\u001b[0m\n\u001b[0;32m   2102\u001b[0m         \u001b[38;5;28;01mcontinue\u001b[39;00m\n\u001b[0;32m   2103\u001b[0m     get_inner_schema \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_wrapped_inner_schema(\n\u001b[0;32m   2104\u001b[0m         get_inner_schema, annotation, pydantic_js_annotation_functions\n\u001b[0;32m   2105\u001b[0m     )\n\u001b[1;32m-> 2107\u001b[0m schema \u001b[38;5;241m=\u001b[39m \u001b[43mget_inner_schema\u001b[49m\u001b[43m(\u001b[49m\u001b[43msource_type\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m   2108\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m pydantic_js_annotation_functions:\n\u001b[0;32m   2109\u001b[0m     metadata \u001b[38;5;241m=\u001b[39m CoreMetadataHandler(schema)\u001b[38;5;241m.\u001b[39mmetadata\n",
      "File \u001b[1;32md:\\Python312\\Lib\\site-packages\\pydantic\\_internal\\_schema_generation_shared.py:83\u001b[0m, in \u001b[0;36mCallbackGetCoreSchemaHandler.__call__\u001b[1;34m(self, source_type)\u001b[0m\n\u001b[0;32m     82\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__call__\u001b[39m(\u001b[38;5;28mself\u001b[39m, source_type: Any, \u001b[38;5;241m/\u001b[39m) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m core_schema\u001b[38;5;241m.\u001b[39mCoreSchema:\n\u001b[1;32m---> 83\u001b[0m     schema \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_handler\u001b[49m\u001b[43m(\u001b[49m\u001b[43msource_type\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m     84\u001b[0m     ref \u001b[38;5;241m=\u001b[39m schema\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mref\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[0;32m     85\u001b[0m     \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_ref_mode \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mto-def\u001b[39m\u001b[38;5;124m'\u001b[39m:\n",
      "File \u001b[1;32md:\\Python312\\Lib\\site-packages\\pydantic\\_internal\\_generate_schema.py:2088\u001b[0m, in \u001b[0;36mGenerateSchema._apply_annotations.<locals>.inner_handler\u001b[1;34m(obj)\u001b[0m\n\u001b[0;32m   2086\u001b[0m from_property \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_generate_schema_from_property(obj, source_type)\n\u001b[0;32m   2087\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m from_property \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m-> 2088\u001b[0m     schema \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_generate_schema_inner\u001b[49m\u001b[43m(\u001b[49m\u001b[43mobj\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m   2089\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m   2090\u001b[0m     schema \u001b[38;5;241m=\u001b[39m from_property\n",
      "File \u001b[1;32md:\\Python312\\Lib\\site-packages\\pydantic\\_internal\\_generate_schema.py:929\u001b[0m, in \u001b[0;36mGenerateSchema._generate_schema_inner\u001b[1;34m(self, obj)\u001b[0m\n\u001b[0;32m    926\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(obj, PydanticRecursiveRef):\n\u001b[0;32m    927\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m core_schema\u001b[38;5;241m.\u001b[39mdefinition_reference_schema(schema_ref\u001b[38;5;241m=\u001b[39mobj\u001b[38;5;241m.\u001b[39mtype_ref)\n\u001b[1;32m--> 929\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmatch_type\u001b[49m\u001b[43m(\u001b[49m\u001b[43mobj\u001b[49m\u001b[43m)\u001b[49m\n",
      "File \u001b[1;32md:\\Python312\\Lib\\site-packages\\pydantic\\_internal\\_generate_schema.py:1029\u001b[0m, in \u001b[0;36mGenerateSchema.match_type\u001b[1;34m(self, obj)\u001b[0m\n\u001b[0;32m   1027\u001b[0m origin \u001b[38;5;241m=\u001b[39m get_origin(obj)\n\u001b[0;32m   1028\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m origin \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m-> 1029\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_match_generic_type\u001b[49m\u001b[43m(\u001b[49m\u001b[43mobj\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43morigin\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m   1031\u001b[0m res \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_prepare_pydantic_annotations_for_known_type(obj, ())\n\u001b[0;32m   1032\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m res \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n",
      "File \u001b[1;32md:\\Python312\\Lib\\site-packages\\pydantic\\_internal\\_generate_schema.py:1058\u001b[0m, in \u001b[0;36mGenerateSchema._match_generic_type\u001b[1;34m(self, obj, origin)\u001b[0m\n\u001b[0;32m   1055\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m from_property\n\u001b[0;32m   1057\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m _typing_extra\u001b[38;5;241m.\u001b[39morigin_is_union(origin):\n\u001b[1;32m-> 1058\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_union_schema\u001b[49m\u001b[43m(\u001b[49m\u001b[43mobj\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m   1059\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m origin \u001b[38;5;129;01min\u001b[39;00m TUPLE_TYPES:\n\u001b[0;32m   1060\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_tuple_schema(obj)\n",
      "File \u001b[1;32md:\\Python312\\Lib\\site-packages\\pydantic\\_internal\\_generate_schema.py:1378\u001b[0m, in \u001b[0;36mGenerateSchema._union_schema\u001b[1;34m(self, union_type)\u001b[0m\n\u001b[0;32m   1376\u001b[0m         nullable \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[0;32m   1377\u001b[0m     \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m-> 1378\u001b[0m         choices\u001b[38;5;241m.\u001b[39mappend(\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgenerate_schema\u001b[49m\u001b[43m(\u001b[49m\u001b[43marg\u001b[49m\u001b[43m)\u001b[49m)\n\u001b[0;32m   1380\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(choices) \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m1\u001b[39m:\n\u001b[0;32m   1381\u001b[0m     s \u001b[38;5;241m=\u001b[39m choices[\u001b[38;5;241m0\u001b[39m]\n",
      "File \u001b[1;32md:\\Python312\\Lib\\site-packages\\pydantic\\_internal\\_generate_schema.py:657\u001b[0m, in \u001b[0;36mGenerateSchema.generate_schema\u001b[1;34m(self, obj, from_dunder_get_core_schema)\u001b[0m\n\u001b[0;32m    654\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m schema \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m    655\u001b[0m     schema \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_generate_schema_inner(obj)\n\u001b[1;32m--> 657\u001b[0m metadata_js_function \u001b[38;5;241m=\u001b[39m \u001b[43m_extract_get_pydantic_json_schema\u001b[49m\u001b[43m(\u001b[49m\u001b[43mobj\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mschema\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m    658\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m metadata_js_function \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m    659\u001b[0m     metadata_schema \u001b[38;5;241m=\u001b[39m resolve_original_schema(schema, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdefs\u001b[38;5;241m.\u001b[39mdefinitions)\n",
      "File \u001b[1;32md:\\Python312\\Lib\\site-packages\\pydantic\\_internal\\_generate_schema.py:2447\u001b[0m, in \u001b[0;36m_extract_get_pydantic_json_schema\u001b[1;34m(tp, schema)\u001b[0m\n\u001b[0;32m   2445\u001b[0m     \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m has_custom_v2_modify_js_func:\n\u001b[0;32m   2446\u001b[0m         cls_name \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mgetattr\u001b[39m(tp, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124m__name__\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m)\n\u001b[1;32m-> 2447\u001b[0m         \u001b[38;5;28;01mraise\u001b[39;00m PydanticUserError(\n\u001b[0;32m   2448\u001b[0m             \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mThe `__modify_schema__` method is not supported in Pydantic v2. \u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[0;32m   2449\u001b[0m             \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mUse `__get_pydantic_json_schema__` instead\u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m in class `\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mcls_name\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m`\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mif\u001b[39;00m\u001b[38;5;250m \u001b[39mcls_name\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01melse\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;124m'\u001b[39m,\n\u001b[0;32m   2450\u001b[0m             code\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mcustom-json-schema\u001b[39m\u001b[38;5;124m'\u001b[39m,\n\u001b[0;32m   2451\u001b[0m         )\n\u001b[0;32m   2453\u001b[0m \u001b[38;5;66;03m# handle GenericAlias' but ignore Annotated which \"lies\" about its origin (in this case it would be `int`)\u001b[39;00m\n\u001b[0;32m   2454\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mhasattr\u001b[39m(tp, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124m__origin__\u001b[39m\u001b[38;5;124m'\u001b[39m) \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m is_annotated(tp):\n",
      "\u001b[1;31mPydanticUserError\u001b[0m: The `__modify_schema__` method is not supported in Pydantic v2. Use `__get_pydantic_json_schema__` instead in class `SecretStr`.\n\nFor further information visit https://errors.pydantic.dev/2.9/u/custom-json-schema"
     ]
    }
   ],
   "source": [
    "from langchain_experimental.text_splitter import SemanticChunker\n",
    "from langchain_openai.embeddings import OpenAIEmbeddings\n",
    "\n",
    "def langchain_text_splitter(file_path):\n",
    "    document = Document(file_path)\n",
    "    full_text = []\n",
    "\n",
    "    # 遍历文档中的所有段落\n",
    "    for paragraph in document.paragraphs:\n",
    "        # 如果段落为空，跳过当前循环，继续下一个\n",
    "        if len(paragraph.text) == 0:\n",
    "            continue  \n",
    "        full_text.append(paragraph.text)\n",
    "\n",
    "    full_text_str = '\\n'.join(full_text)\n",
    "\n",
    "    # 实例化 SemanticChunker，指定一个嵌入模型\n",
    "    text_splitter = SemanticChunker(OpenAIEmbeddings())\n",
    "\n",
    "    # 使用 create_documents() 方法按照语义相似性拆分文本\n",
    "    docs = text_splitter.create_documents([full_text_str])\n",
    "\n",
    "    # 打印分块结果\n",
    "    for doc in docs:\n",
    "        print(\"---------------\")\n",
    "        print(doc.page_content)\n",
    "# 测试代码\n",
    "file_path1 = 'Data/财务报销办法6.0.docx'\n",
    "file_path2 = 'Data/完整性管理规定.docx'\n",
    "headings = read_docx_headings(file_path2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 尝试方向3：将docx转markdown\n",
    "\n",
    "背景：直接从docx识别标题层级是个问题。这样就没办法做好合并。通过这种方式如果可以的话，那几个#就代表几级标题。那就简单了。\n",
    "\n",
    "结论：失败，因为docx_to_markdown判断标题层级还是用style里的headline的层级，如果word文档本身没有用这种格式就失效了。\n",
    "```python\n",
    "    if \"List\" in style_name:\n",
    "        prefix = get_bullet_point_prefix(paragraph)\n",
    "        md_paragraph = prefix  # Markdown syntax for bullet points\n",
    "    elif \"Heading 1\" in style_name:\n",
    "        md_paragraph = \"# \"\n",
    "    elif \"Heading 2\" in style_name:\n",
    "        md_paragraph = \"## \"\n",
    "    elif \"Heading 3\" in style_name:\n",
    "        md_paragraph = \"### \"\n",
    "    elif \"Normal\" in style_name:\n",
    "        md_paragraph = \"\"\n",
    "    else:\n",
    "        print(\"Unsupported style:\", style_name)\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "from docx2markdown._docx_to_markdown import docx_to_markdown\n",
    "# docx 文件路径\n",
    "file_path1 = 'Data/财务报销办法6.0.docx'\n",
    "file_path2 = 'Data/完整性管理规定.docx'\n",
    "current_dir = os.getcwd()\n",
    "docx = os.path.join(current_dir, file_path2)\n",
    "# markdown 文件输出路径\n",
    "output =  os.path.join(current_dir,  'Data/测试.md')\n",
    "# 开始转换\n",
    "docx_to_markdown(docx, output)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
